Visual Studio 2017 - ファイルまたはアセンブリ 'System.Runtime, Version=4.1.0.0' またはその依存関係の 1 つを読み込めませんでした 質問する

Visual Studio 2017 - ファイルまたはアセンブリ 'System.Runtime, Version=4.1.0.0' またはその依存関係の 1 つを読み込めませんでした 質問する

私は Visual Studio 2017 を使用しており、.Net Standard 1.5 ライブラリを作成し、それを .Net 4.6.2 nUnit テスト プロジェクトで使用しようとしています。

次のエラーが発生します...

ファイルまたはアセンブリ 'System.Runtime、Version=4.1.0.0、Culture=neutral、PublicKeyToken=b03f5f7f11d50a3a' またはその依存関係の 1 つを読み込めませんでした。指定されたファイルが見つかりません。

私は次のことを試しました:

  1. プロジェクト参照として Std ライブラリを参照します。エラー: 前のエラーが表示されます。
  2. Std ライブラリ用の NuGet パッケージを作成し、それを参照します。エラー: 型は System.String ですが、System.String が必要です。これは、System.Runtime がプロジェクトによって参照され、すべての標準型の定義が含まれているためです。
  3. NuGet パッケージ NetStandard.Library を参照します。エラー: # と同じエラーが発生します ("型は System.String ですが、System.String が必要です")。注: これを実行する前に、プロジェクトからすべての NuGet パッケージをクリアし、nUnit パッケージと NetStandard.Library パッケージのみを追加しました (これにより、他の 45 個のパッケージがインストールされました)。

これはバグでしょうか?回避策はありますか?どんな助言でもいただければ幸いです。

ベストアンサー1

私も同じ問題を抱えていましたが、提案された解決策はどれもうまくいきませんでした。この問題に対する私の解決策は、App.config と packages.config をチェックしてバージョンが一致しているかどうかを確認することでした。

元々、私の app.config には以下が含まれていました:

<dependentAssembly>
  <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
</dependentAssembly>

しかし、packages.config には次の内容が含まれていました:

<package id="System.Runtime" version="4.3.0" targetFramework="net461" requireReinstallation="true" />

newVersion の packages.config と一致するように app.config エントリを変更しました。

<dependentAssembly>
  <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.3.0" />
</dependentAssembly>

変更後、問題は解決しました。

おすすめ記事