ファイルまたはアセンブリ 'System.ComponentModel.Annotations, Version=4.1.0.0' を読み込めませんでした。
質問
System.ComponentModel.Annotations (4.3.0) NuGet パッケージを参照する .NET Standard 1.4 クラス ライブラリを持っています。
そして、私は .NET Framework 4.6.2 テスト プロジェクトからこのクラス ライブラリを参照しています。それはうまく構築されますが、実行時に次のエラーが発生します。
System.IO.FileLoadException が発生しました HResult=0x80131040
Message= ファイルまたはアセンブリをロードできませんでした。 'System.ComponentModel.Annotations, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' またはその依存関係の 1 つ。その 配置されたアセンブリのマニフェスト定義がアセンブリ参照と一致しません。 参照に一致しません。(HRESULT: 0x80131040 からの例外)
net462 プロジェクトから System.ComponentModel.Annotations (4.3.0) NuGet パッケージへの参照を追加してみましたが、何の変化も起こりませんでした。
net462 プロジェクトから .NET 標準ライブラリへの参照を追加してみましたが、やはりダメでした。
私はここで何かを見逃しているのでしょうか。これは既知のバグでしょうか、もしそうなら、回避策はありますか?
どんな助けでも大いに感謝します!
どのように解決するのですか?
多くの場合、テストプロジェクトの csproj ファイルに以下のコードを追加することで解決できます。
<PropertyGroup>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
</PropertyGroup>
これにより、ビルドプロセスは強制的に
.dll.config
ファイルを出力ディレクトリに作成させます。
その理由は、"classic" csproj テストプロジェクトは真の "libraries" であり、デフォルトではバインディングリダイレクトを必要としないと考えられているためです。しかし、ユニットテストを実行するには、これが必要です。これは、参照されるプロジェクトが正しく動作するためにリダイレクトを必要とする場合にのみ問題になります。これは通常、参照されるライブラリが使用するすべての NuGet パッケージを直接インストールする場合に機能しますが、新しい
PackageReference
スタイルの NuGet パッケージでは、そうはいきません。
この修正が役に立った他の事例をご覧ください。
ファイルまたはアセンブリ Microsoft.Extensions.DependencyInjection.Abstractions を読み込めませんでした。
関連
-
[解決済み】ファイルやアセンブリ、またはその依存関係の1つをロードできませんでした。
-
[解決済み] SQL Server Compact EditionデータベースのLINQ to SQLで、"Row not found or changed "例外を解決するにはどうすればよいですか?
-
[解決済み] NetFx45WebLinkとNetFx45RedistLinkの違いは何ですか?
-
[解決済み] LINQ to Entitiesはメソッドを認識しません。
-
[解決済み] Windowsイベントログで参照される「フレームワークのバージョン」とは何ですか?
-
[解決済み] AssemblyInfo.csは何に使うのですか?
-
[解決済み] ファイルまたはアセンブリをロードできませんでした Microsoft.Extensions.DependencyInjection.Abstractions, Version=1.1.0.0
-
[解決済み] 実際のサービスはデータを返すのに、なぜWebServiceはnullを返すのですか?
-
[解決済み] 埋め込みリソーステキストファイルの読み方
-
[解決済み] WCF - メッセージサイズのクォータを増加させる方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [Solved] ファイル *.mdf をデータベースとしてアタッチできない
-
[解決済み] <Database> コンテキストを支えるモデルが、データベース作成後に変更されました。
-
[解決済み] BasicHttpsBindingとWsHttpBinding with Transport securityの違いは何ですか?
-
[解決済み] フレームワークとアーキテクチャの違いは何ですか?[クローズド]
-
[解決済み] ファイルまたはアセンブリをロードできませんでした Microsoft.Extensions.DependencyInjection.Abstractions, Version=1.1.0.0
-
[解決済み] 1は有効なWin32アプリケーションではありません "を解決するには?
-
[解決済み] AssemblyVersion、AssemblyFileVersion、AssemblyInformationalVersionの違いは何ですか?
-
[解決済み] WPFの場合、x:Name属性とName属性の違いは何ですか?
-
[解決済み] WCF - メッセージサイズのクォータを増加させる方法
-
[解決済み] Math.Round(2.5)はなぜ3でなく2を返すのですか?