我正在使用.net核心和实体框架核心1.1.0。在程序包管理器控制台
中尝试以下命令时Scaffold-DbContext "Server=MyServer\\MyInstance;Database=MyDB;user=MyUsername;password=MyDbPassword;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -t Table1,Table2
我收到此错误
找不到装配 'd:\工作\项目\ SRC \ MyProject的\ SRC \ MyProject.Api \ BIN \调试\ net461 \ WIN7-64 \ MyProject.Data.exe'。
MyProject.Data是一个网络核心库。 MyProject.Api是一个.net完整框架核心api,它引用了MyProject.Data。
MyProject.Data的project.json文件
{
"version": "1.0.0-*",
"dependencies": {
"Microsoft.EntityFrameworkCore.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final"
},
"frameworks": {
"net461": {}
}
}
对我有什么建议吗?
答案 0 :(得分:5)
不确定这是否是错误,但scaffold-dbcontext
命令在启动项目中查找程序集。
此问题有两种解决方法
您可以在scaffold-DBContext
命令中添加一个开关,以便在运行命令时将特定项目设置为启动项目。
这是您需要在命令结束时添加...
-StartupProject MyProject.Data
答案 1 :(得分:3)
如果目标平台是 x86,似乎也会出现此问题。
切换到 AnyCPU 可以解决问题。