web-dev-qa-db-ja.com

パッケージXはnetstandard2.0と互換性がありません

Visual Studio 2017 v15.3.1で.NET Standard v2.0プロジェクトを作成しましたが、「Microsoft.EntityFrameworkCore 2.0.0」パッケージを(Nuget 4.3によって)インストールできません。以前は、2.0.0の.NET SDKとランタイムがインストールされていました。

発生するエラーは、「パッケージXはnetstandard2.0(.NETStandard、Version = v2.0)と互換性がありません。」というパターンに従います。 (つまり、System.Reflection.TypeExtensions 4.1.0)。

これらのエラーの原因は何ですか?

編集:私は例で正確な警告とエラーを示します(多すぎます)。

[.csprojパス]のパッケージを復元しています...

警告:

パッケージ「System.Collections 4.3.0」は、「。NETFramework、Version = v4.6.1」プロジェクトターゲットフレームワーク「.NETStandard、Version = v2.0」を使用して復元されました。これにより、互換性の問題が発生する可能性があります。

...

エラー:

パッケージRemotion.Linq 2.1.1は、netstandard2.0(.NETStandard、Version = v2.0)と互換性がありません。パッケージRemotion.Linq 2.1.1は以下をサポートします:

  • net35(.NETFramework、Version = v3.5)
  • net40(.NETFramework、Version = v4.0)
  • net45(.NETFramework、Version = v4.5)
  • netstandard1.0(.NETStandard、Version = v1.0)
  • portable-net45 + win8 + wp8 + wpa81(.NETPortable、Version = v0.0、Profile = Profile259)

...

パッケージの復元中にエラーが発生しました。 「ClassLibrary1」のパッケージ変更を元に戻します。

経過時間:00:00:02.4689637

==========終了==========

11
SySc0d3r

エラーが表示されていた各パッケージの依存関係の新しいバージョンを個別にインストールすることで問題が解決し、大きなパッケージ「Microsoft.EntityFrameworkCore 2.0.0」がついにインストールされるようになりました。

それが役に立てば幸い。

編集:それは私に別の時に起こり、より速い解決策を試しました。重要なのは、パッケージのマネージャー構成からNugetのキャッシュを削除することでした。

5
SySc0d3r

enter image description here

[すべてのNugetキャッシュをクリア]をクリックすると、問題が解決します。

2