我有一個EF核心項目,我最近升級到1.1。一切工作正常......直到我試圖添加一個遷移。在命令行上執行dotnet ef現在會生成一個關於無法找到ef模塊/程序的錯誤。EF核心工具1.1.0-preview4-final不兼容Net46
深入研究這一點,我發現EF Core 1 - > 1.1過渡涉及到工具的變化。在project.json必須更換這種依賴性:
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
與
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4-final",
不幸的是...當我做到這一點的包更新失敗,出現錯誤信息,這個版本的工具的不支持net46。由於我正在使用某些庫,因此我必須運行它。
這裏是整個project.json文件:
"version": "1.0.0-*",
"dependencies": {
"ConnellDataCore": "1.0.0-*",
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.1.0",
"Microsoft.EntityFrameworkCore": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4-final",
"Microsoft.Extensions.Configuration": "1.1.0",
"Microsoft.Extensions.Configuration.Json": "1.1.0",
"Serilog": "2.3.0"
},
"buildOptions": {
"emitEntryPoint": true,
"xmlDoc": false
},
"frameworks": {
"net46": {
"frameworkAssemblies": {
"System.IO.Compression": "4.0.0.0"
}
}
},
"tools": {
}
我還要指出的是,該數據庫是在一個獨立的組裝定義的,所以我不得不用「創建一個虛擬的靜態程序:: Main()「技巧,以及」創建臨時上下文工廠「的訣竅。
我該如何回到我所在的位置,能夠將遷移添加到我的EF Core數據庫?