繁体   English   中英

Scaffold-DbContext 在 .net 核心中抛出错误“找不到程序集”

[英]Scaffold-DbContext throws error “Could not find assembly” in .net core

我正在使用 .net 核心和实体框架核心 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命令在Startup Project 中查找程序集。

此问题有两种解决方法

  1. 右键单击要在其上运行此命令的项目(在您的情况下,它是 MyProject.Data)并选择Set as startup project
  2. 您可以将参数传递给scaffold-DBContext命令,以在运行命令时将特定项目设置为启动项目。 这是您需要在命令末尾添加的内容...

-StartupProject MyProject.Data

如果目标平台是 x86,似乎也会出现此问题。

切换到 AnyCPU 解决了这个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM