.NET 4.0 相互運用タイプの埋め込みの問題
.NET 4.0 で「ActiveHomeScriptLib」アセンブリを使用する開発者は、「相互運用タイプ 'ActiveHomeScriptLib.ActiveHomeClass' を埋め込むことはできません。代わりに該当するインターフェイスを使用してください。」というエラーが発生する場合があります。 この問題は .NET 3.5 では発生しません。
相互運用アセンブリを理解する
相互運用アセンブリは、マネージド (.NET) コードとアンマネージド COM (コンポーネント オブジェクト モデル) コンポーネントの間のギャップを埋めます。 これらにより、これらの異なる環境間の通信が可能になります。
根本原因
.NET 4.0 では、プライマリ相互運用アセンブリ (PIA) をアプリケーションに直接埋め込むことができ、個別のデプロイメントを回避できます。ただし、すべてのアセンブリが埋め込みに適しているわけではありません。 「ActiveHomeScriptLib」アセンブリはそのような例の 1 つです。
解決策
解決策には、相互運用タイプの埋め込みを防ぐことが含まれます。 Visual Studio 2010 で、「ActiveHomeScriptLib」アセンブリ参照のプロパティ ウィンドウを見つけ、「Embed Interop Types」プロパティを「False」に設定します。
さらなる考慮事項
Michael Gustus 氏が指摘したように、関連する型から「.Class」サフィックスを削除すると、エラーが解決される可能性があります。
以上が.NET 4.0 アプリケーションに相互運用タイプ「ActiveHomeScriptLib.ActiveHomeClass」を埋め込めないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。