プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。
VB.Net 駆け出しの者です

プロジェクトをビルド、リビルトすると、いつからか以下のメッセージが出るようになっていました。

******************************************************

vbc : warning BC40059: アセンブリ 'Microsoft.VisualBasic.Compatibility' からの間接的な参照が原因で、埋め込まれた相互運用機能アセンブリ 'stdole' に対して参照が作成されました。両方のアセンブリで '相互運用機能型の埋め込み' プロパティを変更することを検討してください。

******************************************************

上記のメッセージが出ても、デバックもしくは発行で実行することは可能なのですが、何か気持ち悪い気がしております。エラーメッセージならクリックすればそのコードに移りますが、実際にどこがという指定がないので、その問題の箇所にたどり着けないのです。
上記のメッセージ、もしくはそのほかの情報からなんとかメッセージの箇所を突き止める方法はありますでしょうか?何かご存知の方がいらっしゃいましたら何卒ご教授いただければと存じます。

よろしくお願いいたします。

A 回答 (2件)

> ご指摘のページは既に見ていたのですが、assembly2 や Embed Interop Types という


> ワードでプロジェクト内のコードで検索をかけたのですが、まったく引っかからず原因箇所が
> 特定できない状態でしたのでこちらで質問させていただいたしだいであります;;
(1)assembly2
エラーメッセージの説明ページでは、実際のメッセージの一部分を総称的に記述する場合が多々あります。説明ページでは実際のコードまたはプロジェクト構成を特定することができないためです。
この場合、説明ページ内の一部記述を実際のエラーメッセージの記述に置き換えて読む必要があります。

説明ページの
 アセンブリ '<assembly2>' からの間接参照により、埋め込まれた相互運用機能アセンブリ '<assembly1>' の参照が作成されました。

あなたのエラーメッセージの
 アセンブリ 'Microsoft.VisualBasic.Compatibility' からの間接的な参照が原因で、埋め込まれた相互運用機能アセンブリ 'stdole' に対して参照が作成されました。
とを比較すると、<assembly1> が 'stdole' に、<assembly2> が Microsoft.VisualBasic.Compatibility に対応していることがわかります。
したがって、以下の解説では文中の assembly1 および assembly2 を上記に置き換えて読む必要があります。

(2)Embed Interop Types
VB.Net のことは解らないのですが、コード中ではなく、アセンブリ参照の設定画面にそういう項目はないでしょうか?
    • good
    • 0
この回答へのお礼

hitomura さん お世話になります。

プロジェクトの参照追加の箇所で、stdole という名前にチャックが入っていたので、もしやと思い、チェックを外したら 問題のメッセージは表示されなくなりました。
この部分にチェックを入れた覚えはないのですが、解決方法が見つかり すっきりいたしました。

ありがとうございました。

お礼日時:2013/09/08 12:11

警告の番号で検索したら次のページが見つかりました。


http://msdn.microsoft.com/ja-jp/library/vstudio/ …
……えーと、これ読んでどうすればいいかわかりましたでしょうか?

この回答への補足

hitomura さん お世話になります。
ご指摘のページは既に見ていたのですが、assembly2 や Embed Interop Types というワードでプロジェクト内のコードで検索をかけたのですが、まったく引っかからず原因箇所が特定できない状態でしたのでこちらで質問させていただいたしだいであります;;

補足日時:2013/09/08 07:45
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています