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添加引用
- 为Project创建目录,在其下创建一个.sln文件,使用:
dotnet new sln -n SamuraiApp
-
使用以下命令创建数据和域类库项目:
dotnet new classlib -n SamuraiApp.Data
和dotnet new classlib -n SamuraiApp.Domain
-
使用
dotnet new web -n SamuraiApp.UI
创建和清空ASP.NET核心项目 -
使用以下命令将实体Frmaework核心添加到Data ClassLibrary:
cd SamuraiApp.Data
和dotnet add package Microsoft.EntityFrameworkCore.SqlServer
-
使用以下命令将entity framework核心设计添加到UI项目:
cd SamuraiApp.UI/
和dotnet add package Microsoft.EntityFrameworkCore.Design
-
运行
dotnet restore
第3步:添加引用
- 执行
dotnet add SamuraiApp.Data reference SamuraiApp.Domain/SamuraiApp.Domain.csproj
添加Domain作为Data的引用。 - 执行
dotnet add SamuraiApp.UI reference SamuraiApp.Domain/SamuraiApp.Domain.csproj
添加Domain作为UI的引用。 - 执行
dotnet add SamuraiApp.UI reference SamuraiApp.Data/SamuraiApp.Data.csproj
添加Data作为UI的参考。 -
执行以下命令将所有三个项目添加到解决方案:
dotnet sln添加SamuraiApp.Data/SamuraiApp.Data.csproj dotnet sln添加SamuraiApp.Domain / SamuraiApp.Domain.csproj dotnet sln添加SamuraiApp.UI / SamuraiApp.UI.csproj
-
在您喜欢的文本编辑器中打开SamuraiApp.Data.csproj并添加以下内容: