Scaffold-DbContext在.net核心中拋出錯誤“找不到程序集”

.net .net-core c# entity-framework-core scaffolding

我使用.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命令在啟動項目中查找程序集。

這個問題有兩種解決方法

  1. 右鍵單擊要運行此命令的項目(在您的情況下,它是MyProject.Data)並選擇Set as startup project
  2. 您可以在scaffold-DBContext命令中添加一個開關,以便在運行命令時將特定項目設置為啟動項目。這是你需要在命令結束時添加的...

    -StartupProject MyProject.Data



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow