C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: ソースを他PCでビルドすると、エラー・警告が出る


(過去ログ 18 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■7105 / inTopicNo.1)  ソースを他PCでビルドすると、エラー・警告が出る
  
□投稿者/ nbmyou (12回)-(2007/08/30(Thu) 12:13:15)

分類:[.NET 全般] 

【環境:WindowsXP, VisualC#2005】

度々、お世話になっております。
初心者のnbmyouと申します。

先輩が作成しビルドが通っている、VisualC#2005で作成したあるアプリのソースなのですが、
(このソースは僕のPCでもビルドが通ります)
OS・VS2005インストールを行ったばかりのWindowsXPマシンに持っていって、
ビルド(リビルド)をかけたところ、以下のようなエラー・警告が発生しました。

+++++++++++++++++++++++++++
警告 参照コンポーネント 'Word' が見つかりませんでした。
警告 参照コンポーネント 'VBIDE' が見つかりませんでした。
警告 参照コンポーネント 'Microsoft.Office.Core' が見つかりませんでした。
エラー 型または名前空間名 'Interop' は名前空間 'Microsoft.Office' に存在しません。アセンブリ参照が不足しています。
警告 タイプ ライブラリ "Microsoft.Office.Core" のラッパー アセンブリが見つかりません。
警告 タイプ ライブラリ "VBIDE" のラッパー アセンブリが見つかりません。
警告 タイプ ライブラリ "Word" のラッパー アセンブリが見つかりません。
+++++++++++++++++++++++++++

エラーが出るPCでVS2005を開き、ソリューションエクスプローラを確認したところ
「参照設定」配下で、
・Microsoft.Office.Core
・VBIDE
・Word
に「!」マークがついていました。
そこでVS2005のオブジェクトブラウザを両マシンで確認してみたところ、
ここに表示されている内容に、以下のような過不足がありました。

(※ビルドが通るマシンを「OKマシン」、通らないマシンを「NG」マシンと記述しました)
+++++++++++++++++++++++++++
OKマシンにあって、NGマシンにないもの:
 ・Interop.Office
 ・Microsoft.Office.Interop.Word
 ・Microsoft.Vbe.Interop
 ・Office
NGマシンにあって、OKマシンにないもの:
 ・Interop.Microsoft.Office.Core
+++++++++++++++++++++++++++

僕自身よくわかっていないので、この程度の情報しかありませんが、
なぜビルドが通らないのか、どのようにすればビルドが通るようになるのか
おわかりになる方がいらっしゃいましたら、お手数ですが教えていただけると助かります。

よろしくお願いいたします。
引用返信 編集キー/
■7109 / inTopicNo.2)  Re[1]: ソースを他PCでビルドすると、エラー・警告が出る
□投稿者/ オノデラ (18回)-(2007/08/30(Thu) 12:33:47)
オノデラ さんの Web サイト
推測ですが、新しいPCの方に Ofiice が入っていないからだと思います。
引用返信 編集キー/
■7118 / inTopicNo.3)  Re[2]: ソースを他PCでビルドすると、エラー・警告が出る
□投稿者/ nbmyou (14回)-(2007/08/30(Thu) 13:30:31)
No7109 (オノデラ さん) に返信
> 推測ですが、新しいPCの方に Ofiice が入っていないからだと思います。

早速の回答ありがとうございます。

上に記述し忘れましたが、両PCとも同じバージョンの
Office2003が入っています。

投稿後、NGマシンのソリューションエクスプローラで「!」が入っているものを削除し、
「プロジェクト」メニュー→「参照の追加」から、
・Microsoft Office 11 Object Library
・Microsoft Word 11 Object Library
をいれたところ、ソリューションエクスプローラ上では同じ表示(「!」がない状態)
になりました。
しかし、追加したものの名前空間が微妙に違うらしく、
いくつか警告が残っている状況です。

(警告は、名前空間が違うと指摘しているusing行をコメントアウトすることで、
 いくつかは出なくなり、デバッグ実行はできるようになりました)

一応これで動いたのですが、なぞこうなるのか腑に落ちません。
また、ソースのバージョン管理等にも影響を及ぼすので、できるならばこの状況を続けたくありません。

何か情報がありましたら、お手数ですが、引き続きよろしくお願いいたします。
引用返信 編集キー/
■7126 / inTopicNo.4)  Re[3]: ソースを他PCでビルドすると、エラー・警告が出る
□投稿者/ PATIO (5回)-(2007/08/30(Thu) 14:54:09)
> 上に記述し忘れましたが、両PCとも同じバージョンの
> Office2003が入っています。

インストールオプションも全く同じですか?
インストールオプションによっては入らないものもあると思います。
現に入っているファイルが違うのであれば、全く同じと言う事は無いと思いますが。
あと、片方では無いと言うファイル群はある方のPCでは何処に入っているんでしょう?
VisualStudio関連のところなのか、Office関連のところなのか、全く別な所なのか。

引用返信 編集キー/
■7129 / inTopicNo.5)  Re[3]: ソースを他PCでビルドすると、エラー・警告が出る
□投稿者/ IIJIMAS (17回)-(2007/08/30(Thu) 15:31:52)
No7118 (nbmyou さん) に返信
> ■No7109 (オノデラ さん) に返信
>>推測ですが、新しいPCの方に Ofiice が入っていないからだと思います。
>
> 早速の回答ありがとうございます。
>
> 上に記述し忘れましたが、両PCとも同じバージョンの
> Office2003が入っています。
>
> 投稿後、NGマシンのソリューションエクスプローラで「!」が入っているものを削除し、
> 「プロジェクト」メニュー→「参照の追加」から、
> ・Microsoft Office 11 Object Library
> ・Microsoft Word 11 Object Library
> をいれたところ、ソリューションエクスプローラ上では同じ表示(「!」がない状態)
> になりました。
> しかし、追加したものの名前空間が微妙に違うらしく、
> いくつか警告が残っている状況です。
>
> (警告は、名前空間が違うと指摘しているusing行をコメントアウトすることで、
>  いくつかは出なくなり、デバッグ実行はできるようになりました)
>
> 一応これで動いたのですが、なぞこうなるのか腑に落ちません。
> また、ソースのバージョン管理等にも影響を及ぼすので、できるならばこの状況を続けたくありません。
>
> 何か情報がありましたら、お手数ですが、引き続きよろしくお願いいたします。

ひょっとして、コントロールパネルで「プログラムの追加と削除」でMicrosoft Office 2003を選択して、「変更」ボタンでウィザードを起動し「詳細なカスタマイズ」の画面までいったら、各アプリケーションのノードを開いて「.NETプログラミングサポート」が、×になってたりしませんか。
なっていた場合、「マイコンピュータから実行」を選択して「更新」しますと、オプションのコンポーネントがといろいろ入ると思います。それでどうでしょうか。

引用返信 編集キー/
■7130 / inTopicNo.6)  Re[4]: ソースを他PCでビルドすると、エラー・警告が出る
□投稿者/ nbmyou (16回)-(2007/08/30(Thu) 15:35:54)
No7126 (PATIO さん) に返信
> インストールオプションも全く同じですか?
確かにそうですね。
オプションを正確には記憶しておりませんが、

OKマシンでは、VS.net2005ProfessionalEdition・Office2003ProfessionalEnterpriseEdition
とも標準インストール。VS.net2005ProfessionalEditionは、後にJ#関連を削除。
(ただし、このマシンには、VS6・VS.net2003もインストールされています)

NGマシンでは、VS.net2005ProfessionalEditionはカスタムインストールでJ#以外をフルインストール
Office2003ProfessionalEnterpriseEditionは、WORD・EXCEL・POWERPOINTのみフルインストール
としたはずです。

このあたりの違いが原因と考えられるでしょうか。


> あと、片方では無いと言うファイル群はある方のPCでは何処に入っているんでしょう?
オブジェクトブラウザで見た限りでは、以下にあるようです。
+++++++++++++++++++++++++++
OKマシンにあって、NGマシンにないもの:
 ・Interop.Office
   →C:\(ソースのパス)\obj\Debug\Interop.Office.dll
 ・Microsoft.Office.Interop.Word
   →C:\WINDOWS\assembly\GAC\Microsoft.Office.Interop.Word\
     11.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Word.dll
 ・Microsoft.Vbe.Interop
   →C:\WINDOWS\assembly\GAC\Microsoft.Vbe.Interop\11.0.0.0__71e9bce111e9429c\Microsoft.Vbe.Interop.dll
 ・Office
   →C:\WINDOWS\assembly\GAC\Office\11.0.0.0__71e9bce111e9429c\Office.dll

NGマシンにあって、OKマシンにないもの:
 ・Interop.Microsoft.Office.Core
   →C:\(ソースのパス)\obj\Debug\Interop.Microsoft.Office.Core.dll
+++++++++++++++++++++++++++
ただ、実際にエクスプローラで確認し、
場合によってはNGマシンにコピーしようかとも思ったのですが
C:\WINDOWS\assembly\GAC\・・・
を開いて確かめてみようと思っても、見えず、
アドレス直打ちしても
GACフォルダはないという旨のメッセージが出て、確認できません。

わかったのは、ここまでです。
情報がありましたら、引き続きよろしくお願いいたします。
引用返信 編集キー/
■7132 / inTopicNo.7)  Re[4]: ソースを他PCでビルドすると、エラー・警告が出る
□投稿者/ nbmyou (17回)-(2007/08/30(Thu) 15:47:01)
2007/08/30(Thu) 15:47:24 編集(投稿者)

No7129 (IIJIMAS さん) に返信
> ひょっとして、コントロールパネルで「プログラムの追加と削除」でMicrosoft Office 2003を選択して、「変更」ボタンでウィザードを起動し「詳細なカスタマイズ」の画面までいったら、各アプリケーションのノードを開いて「.NETプログラミングサポート」が、×になってたりしませんか。
> なっていた場合、「マイコンピュータから実行」を選択して「更新」しますと、オプションのコンポーネントがといろいろ入ると思います。それでどうでしょうか。

ありがとうございます。ビンゴです!

「.NETプログラミングサポート」が×になっていたため、上記のように更新しましたら、
動作するようになりました。

初歩的なミスでご迷惑をおかけしましたが、
大変助かりました。みなさん、本当にありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -