ホワイトレンド

lplpl

【C#】「このアセンブリから相互運用型を埋め込むことはできません」エラーの対処法【Visual Studio 2022】

「このアセンブリから相互運用型を埋め込むことはできません」エラーの対処法

 

.DLLファイルをソリューションエクスプローラーから参照に追加したのに、下記のように「このアセンブリから相互運用型を埋め込むことはできません」とエラーが出て.DLLファイルの読み込みができない場合があります。

アセンブリ 'Npgsql, Version=8.0.2.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7' に 'System.Runtime.InteropServices.GuidAttribute' 属性が指定されていないため、このアセンブリから相互運用型を埋め込むことはできません。)

相互運用型のエラー

対処法は、ソリューションエクスプローラーの「参照」の項目内にある対象の.DLLファイルを探し出し、プロパティから「相互運用型の埋め込み」を「False」に変更します。(この場合はNpgsqlをクリック)

相互運用型の埋め込み

NuGetパッケージマネージャーからインストールした場合はデフォルトでFalseになっていますが、違うプロジェクトから適当に.DLLファイルだけをコピペしてきたときなどは、最初はTrueになっている場合が多いです。

 

公式の解説:

相互運用アプリケーションの配置 - .NET Framework | Microsoft Learn