我正在关注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'
当我运行dotnet --version i get 2.1.3.
任何人都可以帮我纠正这个错误。
屏幕截图:
先谢谢。
答案 0 :(得分:1)
遵循相同的Pluralsight视频,我遇到了同样的问题。跑完后:
PM> install-package Microsoft.EntityFrameworkCore.SqlServer
将默认项目设置为SomeUI
在这样做之后,我能够毫无问题地运行add-migration initial
。
答案 1 :(得分:0)
我知道以下不是我自己问题的确切答案。但是,而不是等待有人回答如何在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=
<ComplexPassword>' -p 1433:1433 -d microsoft/mssql-server-linux
℃。可选的。使用npm install -g sql-cli
安装sql-cli。现在,您可以使用mssql -s 127.0.0.1 -u sa -p.
第2步:创建.sln,.csproj并使用dotnet cli添加引用
dotnet new sln -n SamuraiApp
使用以下内容创建数据和域类库项目:dotnet new classlib -n SamuraiApp.Data
和dotnet new classlib -n SamuraiApp.Domain
使用dotnet new web -n SamuraiApp.UI
使用以下内容将实体Frmaework Core添加到Data ClassLibrary:cd SamuraiApp.Data
和dotnet add package Microsoft.EntityFrameworkCore.SqlServer
使用:cd SamuraiApp.UI/
和dotnet add package Microsoft.EntityFrameworkCore.Design
运行dotnet restore
第3步:添加引用
dotnet add SamuraiApp.Data reference SamuraiApp.Domain/SamuraiApp.Domain.csproj
以添加域作为对数据的引用。dotnet add SamuraiApp.UI reference SamuraiApp.Domain/SamuraiApp.Domain.csproj
以添加域作为对UI的引用。dotnet add SamuraiApp.UI reference SamuraiApp.Data/SamuraiApp.Data.csproj
以添加数据作为对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并添加以下内容:
<ItemGroup>
<DotNetCliToolReference
Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>
&#13;
启用dotnet ef。
第4步:编写域类,DataContext类和添加迁移 cd进入SamuraiApp.Data文件夹并执行以下命令添加初始迁移:
dotnet ef migrations add Initial --startup-project ../SamuraiApp.UI
希望对某人有所帮助。但仍然在使用VS 2017的Windows中我遇到了问题,希望有人能帮我解决。
谢谢:)