「このアセンブリから相互運用型を埋め込むことはできません」エラーの対処法
.DLLファイルをソリューションエクスプローラーから参照に追加したのに、下記のように「このアセンブリから相互運用型を埋め込むことはできません」とエラーが出て.DLLファイルの読み込みができない場合があります。
(アセンブリ 'Npgsql, Version=8.0.2.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7' に 'System.Runtime.InteropServices.GuidAttribute' 属性が指定されていないため、このアセンブリから相互運用型を埋め込むことはできません。)
対処法は、ソリューションエクスプローラーの「参照」の項目内にある対象の.DLLファイルを探し出し、プロパティから「相互運用型の埋め込み」を「False」に変更します。(この場合はNpgsqlをクリック)
NuGetパッケージマネージャーからインストールした場合はデフォルトでFalseになっていますが、違うプロジェクトから適当に.DLLファイルだけをコピペしてきたときなどは、最初はTrueになっている場合が多いです。
公式の解説: