簡體   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