entity framework核心中的添加迁移错误

我正在关注Julie Lerman的Entity Framework Core 2.0入门教程。 我已经安装了Microsoft.EntityFrameworkCore.SqlServer版本2.0.2。 当我尝试在VS 2017中运行add-migration initial(包管理器控制台)时,我收到以下错误:

System.IO.FileLoadException: Could not load file or assembly 'Microsoft.EntityFrameworkCore.SqlServer, Version=2.0.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) File name: 'Microsoft.EntityFrameworkCore.SqlServer, Version=2.0.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' System.IO.FileLoadException: Could not load file or assembly 'Microsoft.EntityFrameworkCore.SqlServer, Version=2.0.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) File name: 'Microsoft.EntityFrameworkCore.SqlServer, Version=2.0.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'当我运行dotnet --version i get 2.1.3. 任何人都可以帮我纠正这个错误。

截图:

在此处输入图像描述

提前致谢。

遵循相同的Pluralsightvideo,我遇到了同样的问题。 跑完后:

 PM> install-package Microsoft.EntityFrameworkCore.SqlServer 

默认项目设置为SomeUI

在这样做之后,我能够在没有任何问题的情况下运行add-migration initial

我知道以下不是我自己问题的确切答案。 但是,而不是等待有人回答如何在VS 2017中解决它(Windows)我在我的Mac上采用终端方法并使用dotnet cli重新创建解决方案(Julie Lerman希望你不会发送你最喜欢的Samurai进行战斗: P)

注意:以下步骤适用于Mac。 安装了SQl Server的Windows用户可以跳过步骤1。

第1步:安装Docker并拉动MSSQL映像

一个。 使用以下命令安装docker并为linux下载最新的mssql映像:

 sudo docker pull microsoft/mssql-server-linux 

湾 使用以下命令启动docker镜像:

 sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD= ' -p 1433:1433 -d microsoft/mssql-server-linux 

C。 可选的。 使用npm install -g sql-cli 。 现在,您可以使用mssql -s 127.0.0.1 -u sa -p.连接到在Docker上运行的Sql Server mssql -s 127.0.0.1 -u sa -p.

第2步:创建.sln,.csproj并使用dotnet cli添加引用

  1. 为Project创建目录,在其下创建一个.sln文件,使用: dotnet new sln -n SamuraiApp
  2. 使用以下命令创建数据和域类库项目: dotnet new classlib -n SamuraiApp.Datadotnet new classlib -n SamuraiApp.Domain

  3. 使用dotnet new web -n SamuraiApp.UI创建和清空ASP.NET核心项目

  4. 使用以下命令将实体Frmaework核心添加到Data ClassLibrary: cd SamuraiApp.Datadotnet add package Microsoft.EntityFrameworkCore.SqlServer

  5. 使用以下命令将entity framework核心设计添加到UI项目: cd SamuraiApp.UI/dotnet add package Microsoft.EntityFrameworkCore.Design

  6. 运行dotnet restore

第3步:添加引用

  1. 执行dotnet add SamuraiApp.Data reference SamuraiApp.Domain/SamuraiApp.Domain.csproj添加Domain作为Data的引用。
  2. 执行dotnet add SamuraiApp.UI reference SamuraiApp.Domain/SamuraiApp.Domain.csproj添加Domain作为UI的引用。
  3. 执行dotnet add SamuraiApp.UI reference SamuraiApp.Data/SamuraiApp.Data.csproj添加Data作为UI的参考。
  4. 执行以下命令将所有三个项目添加到解决方案:

    dotnet sln添加SamuraiApp.Data/SamuraiApp.Data.csproj dotnet sln添加SamuraiApp.Domain / SamuraiApp.Domain.csproj dotnet sln添加SamuraiApp.UI / SamuraiApp.UI.csproj

  5. 在您喜欢的文本编辑器中打开SamuraiApp.Data.csproj并添加以下内容: