前言
在 .net core 專案中,當我們將 Data 專案拆到另一個 .NETStandard 專案時,在他的目錄下,執行 dotnet ef dbcontext 相關 Command 時,會噴以下的錯誤
Startup project ‘OdeToFood.Data.csproj’ targets framework ‘.NETStandard’. There is no runtime associated with this framework, and projects targeting it cannot be executed directly. To use the Entity Framework Core .NET Command-line Tools with this project, add an executable project targeting .NET Core or .NET Framework that references this project, and set it as the startup project using –startup-project; or, update this project to cross-target .NET Core or .NET Framework. For more information on using the EF Core Tools with .NET Standard projects, see https://go.microsoft.com/fwlink/?linkid=2034781
研究
這是因為它並不知道目前這個專案要使用的是 .NET Core 或是 .NET Framework,所以這時,只要多設定 –startup-project 去指定到參考這個專案的主專案就可以了哦!
註: 主專案要加入 Microsoft.EntityFrameworkCore.Design 這個 Nuget 套件哦!
例如原本我是下
1 |
|
要多加入 –startup-project 的設定
1 |
|
或是簡寫 -s
1 |
|
參考資料
Trying to set-up Entity Framework core in .Net Standard project