Asp.net-Core
EF 7 .NET Core 工具錯誤
我用
dotnet new -t lib命令創建了一個新的 .NET Core 項目。這是我的 EF 上下文的類庫。這是我的project.json:{ "version": "1.0.0-*", "buildOptions": { "debugType": "portable" }, "dependencies": {}, "frameworks": { "netstandard1.6": { "dependencies": { "NETStandard.Library": "1.6.0", "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0", "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final" } } } }當我執行
dotnet restore命令時,我收到此錯誤:error: Package Microsoft.EntityFrameworkCore.Tools 1.0.0-preview2-final is not compatible with netstandard1.6 (.NETStandard,Version=v1.6). Package Microsoft.EntityFrameworkCore.Tools 1.0.0-preview2-final supports:如何在 netstandard1.6 中使用 EF Code First?
據此,
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"應該在 project.json 的工具部分中註冊:{ "version": "1.0.0-*", "description": "Class Library", "frameworks": { "netstandard1.6": { "imports": [ "dnxcore50" ] } }, "dependencies": { "NETStandard.Library": "1.6.0", "Microsoft.EntityFrameworkCore": "1.0.0", "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0" }, "tools": { "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final" } }使用imports也是一個好主意,因為 EF Core 的一些依賴項仍然不支持 .NETStandard,但在你的情況下,我檢查了它,即使沒有導入它也可以工作。
關於 Johan B 的評論,其中指出 ef 工具目前不能與類庫一起使用,部分是通過使用
--startup-project解決方法解決的,例如:dotnet ef --startup-project ../ProjectThatCanRunCommand/ migrations add InitDb,更多資訊:參數化 dotnet-ef 使用的目錄。