【问题标题】:Scaffold-DbContext throws error "Could not find assembly" in .net coreScaffold-DbContext 在 .net 核心中引发错误“找不到程序集”
【发布时间】:2017-04-09 19:13:51
【问题描述】:

我正在使用 .net 核心和实体框架核心 1.1.0。在 Package Manager Console

中尝试以下命令时
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": {}
  }
}

对我有什么建议吗?

【问题讨论】:

  • 您可能想尝试使用 .NET 命令行工具:dotnet ef dbcontext scaffold ...

标签: c# .net entity-framework-core .net-core scaffolding


【解决方案1】:

不确定这是否是错误,但scaffold-dbcontext 命令在启动项目中查找程序集。

这个问题有两种解决方法

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

-StartupProject MyProject.Data

【讨论】:

  • 为我工作-StartupProject MyProject.Data,非常感谢
【解决方案2】:

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

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

【讨论】:

  • 同意,遇到了同样的问题。泰
猜你喜欢
  • 1970-01-01
  • 2017-10-09
  • 1970-01-01
  • 1970-01-01
  • 2019-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多