Microsoft 発表されたばかり Entity Framework Core 2.0が.NET Standard 2.0で実行されるようになりました。
.Net Standard 2.0は、.NET Framework 4.6.1と互換性があります(これが正しい用語である場合)。
しかし、 最新のNuGetパッケージ を追加しようとすると、間違ったバージョンを使用しているというエラーが表示されます。
Install-Package : Could not install package
'Microsoft.EntityFrameworkCore.SqlServer 2.0.0-preview2-25332'. You are
trying to install this package into a project that targets
'.NETFramework,Version=v4.6.1', but
the package does not contain any Assembly references or content files
that are compatible with that framework.
発表に従って、.NET Framework 4.6.1でEF Core 2.0を使用できる場合は、誰か説明してください。可能であれば、それがどのようになるか例を示してください。
.NET 4.6.1プロジェクトに.NET Standard 2.0ライブラリを含めるには、NetStandard.Library.NetFramework NuGetパッケージを含める必要があるようです。
Packages.configファイルの現在のバージョンの例:
<package id="NETStandard.Library.NETFramework" version="2.0.0-preview1-25305-02" targetFramework="net461" />
NETStandard.Library.NETFramework
パッケージでは、次のコードを*.csproj
ファイル。
<PropertyGroup>
<PackageTargetFallback>netstandard2.0</PackageTargetFallback>
</PropertyGroup>
.csprojに移動して、TargetFrameworkを変更します
<PropertyGroup>
<PackageTargetFallback>netstandard2.0</PackageTargetFallback>
</PropertyGroup>
それに
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
実行Update-Package
パッケージマネージャーコンソールを介して、これは何らかの方法で魔法のように.Net Coreを含むすべてのパケットを更新します。互換性があります。
これを行うと、プロジェクトは完全に機能し、すぐに更新が本来の目的どおりにNugetを介して直接実行可能になることを願っています。