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命令在启动项目中查找程序集。

这个问题有两种解决方法

  1. 右键单击要运行此命令的项目(在您的情况下,它是MyProject.Data)并选择Set as startup project
  2. 您可以在scaffold-DBContext命令中添加一个开关,以便在运行命令时将特定项目设置为启动项目。 这是你需要在命令结束时添加的…

    -StartupProject MyProject.Data