我正在將一個新的.NET Core應用程序部署到我的服務器。我試圖運行EntityFramework遷移,因爲項目是使用「代碼優先」方法創建的。'Microsoft.EntityFrameworkCore.Tools.DotNet`包的版本無法解決
的命令來運行是
DOTNET EF數據庫更新
遷移本地使用的Visual Studio沒有問題,但是,在服務器上,我收到了錯誤的工作;
軟件包
Microsoft.EntityFrameworkCore.Tools.DotNet
的版本無法解決。
我DOTNET的開發機器上的版本是1.0.0
我DOTNET的服務器上的版本是1.0.1
我的項目使用的.csproj文件(不project.json,這似乎不再使用)。
我已經添加了對csproj文件的引用,但無論版本如何,我仍然會收到上述錯誤。
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0" />
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.1" />
</ItemGroup>
更新
基本上我曾嘗試使用安裝的NuGet從命令行的Microsoft.EntityFrameworkCore.Tools.DotNet:
C:\程序文件(x86)\詹金斯\ workspace \ api.XXX.com \ XXXProject> nuget i nstall Microsoft.EntityFrameworkCore.Tools.DotNet
然後我收到以下內容:
警告:安裝失敗。回滾... 執行nuget操作耗時13.44秒 程序包'Microsoft.EntityFrameworkCore.Tools.DotNet 1.0.0'的程序包類型'D otnetCliTool'不受項目'C:\ Program Files(x86) \詹金斯\ W orkspace \ api.XXX.com \ XXXProject'.`
然後,如果我運行DOTNET EF命令,我得到這個:
C:\ Program Files文件(86) \ Jenkins \ workspace \ api.desully.com \ deSullyAPI_Core> dotnet ef update database
包
Microsoft.EntityFrameworkCore.Tools.DotNet
的版本無法解決。
更新#2
,我發現我的dev的機器中有不同的SDK版本比服務器
上的版本我假設問題是1.0.1沒有Microsoft.EntityFramework Core.Tools.DotNet在裏面嗎?老版本不是很奇怪嗎?
更新3
所以僅供參考 - 我去Microsoft Site嘗試下載1.0.0版本的SDK(因爲它似乎沒有被我的服務器上安裝)。不幸的是,MS站點似乎強制給我1.0.1版本(它不包含我需要的EF東西?)。
我試着將我的開發箱中的1.0.0目錄複製到生產服務器,但是這也似乎沒有工作。我在這裏錯過了什麼?
我只是在嘗試不同的數字 - 但同樣的問題爲1.0.0。 – footose
然後請提供一些更多的細節:執行什麼工具/命令?什麼是確切的錯誤信息?等 –
更新的線程。對不起,這裏稍微有點新。 – footose