2017-12-19 12 views
0

EFコアで新しいASP.NETコア2.0プロジェクト(SDK 2.1.2)を作成しています。マイグレーションを追加すると、解決できないために生成されたコードをコンパイルできません。SqlServerValueGenerationStrategy。このクラスは、Microsoft.EntityFrameworkCore.Metadata名前空間の一部であるように見えます。これは、Microsoft.EntityFrameworkCoreアセンブリに含める必要があります。しかし、私はこの問題を解決できないようです。私のプロジェクトのcsprojファイルは、次のようになります。EFコア2.0の移行の問題

<Project Sdk="Microsoft.NET.Sdk"> 

    <PropertyGroup> 
    <TargetFramework>netcoreapp2.0</TargetFramework> 
    </PropertyGroup> 

    <ItemGroup> 
    <Reference Include="Microsoft.EntityFrameworkCore"> 
     <HintPath>..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.entityframeworkcore\2.0.1\lib\netstandard2.0\Microsoft.EntityFrameworkCore.dll</HintPath> 
    </Reference> 
    <Reference Include="Microsoft.EntityFrameworkCore.Relational"> 
     <HintPath>..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.entityframeworkcore.relational\2.0.1\lib\netstandard2.0\Microsoft.EntityFrameworkCore.Relational.dll</HintPath> 
    </Reference> 
    </ItemGroup> 

</Project> 

上記のプロジェクトファイルに基づいて、SqlServerValueGenerationStrategy列挙型が解決されなければならない(Microsoft.EntityFrameworkCore)が、VS2017はまだ文句を言っています。何か案は?

答えて

2

名前空間とアセンブリは異なるものです。特に、名前空間はアセンブリ間で共有できます。この場合

は、SqlServerValueGenerationStrategy列挙型が実際にMicrosoft.EntityFrameworkCore.Metadata名前空間に含まれていますが、リンクから見ることができるように、Microsoft.EntityFrameworkCore.SqlServer.dllアセンブリで定義されています。

+0

何らかの理由で2行目が欠けていました。ありがとう! –