Scaffold-DbContext在.net核心中抛出错误“找不到程序集”
我使用.net核心和entity framework核心1.1.0。 在包管理器控制台中尝试以下命令时
Scaffold-DbContext "Server=MyServer\\MyInstance;Database=MyDB;user=MyUsername;password=MyDbPassword;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -t Table1,Table2
我收到了这个错误
找不到程序集’D:\ Work \ Projects \ src \ MyProject \ src \ MyProject.Api。\ bin \ Debug \ net461 \ win7-x64 \ 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": {} } }
对我有什么建议吗?
不确定这是否是一个错误,但scaffold-dbcontext
命令在启动项目中查找程序集。
这个问题有两种解决方法
- 右键单击要运行此命令的项目(在您的情况下,它是MyProject.Data)并选择Set as startup project 。
-
您可以在
scaffold-DBContext
命令中添加一个开关,以便在运行命令时将特定项目设置为启动项目。 这是你需要在命令结束时添加的…-StartupProject MyProject.Data