[英]Updating NuGet packages in ASP.NET MVC 6
我剛剛創建了一個新的ASP.NET MVC 6項目,並希望將NuGet包更新到最新版本(默認項目模板通常非常過時)。 我注意到以下更新是可能的:
當我嘗試使用NuGet包對話框升級這些軟件包或更新newtonsoft.json的project.json文件中的版本號時,我收到錯誤。
1)嚴重性代碼描述項目文件行錯誤未實現(HRESULT異常:0x80004001(E_NOTIMPL))0
2)嚴重性代碼描述項目文件行錯誤NuGet包恢復一個或多個包失敗。 在“輸出”窗口中查看詳細信息 Mvc6ProjectName C:[路徑到我的文件夾] \\ Source \\ Mvc6ProjectName \\ project.json 0
3)嚴重級代碼描述項目文件行錯誤依賴項Newtonsoft.Json> = 6.0.8無法解析Mvc6Boilerplate C:\\ Git \\ ASP.NET-MVC-Boilerplate \\ Source \\ MVC6 \\ Mvc6Boilerplate \\ project.json 19
我也有一個MVC項目,我在那里使用最新的NuGet包,為什么我不能升級這些包呢? 這是否與沒有更多web.config文件的事實有關,我們可以在其中指定運行時assemblyBinding:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
更新1
當我嘗試從包管理器控制台更新Newtonsoft.Json時,我收到以下錯誤:
PM> Update-Package Newtonsoft.Json -ProjectName Mvc6Boilerplate -Version 6.0.8包含Id'Newtoftoft.Json'的包未安裝到項目'Mvc6Boilerplate'。
似乎Newtonsoft.Json沒有安裝在默認的MVC 6項目中,而是作為另一個項目的依賴項安裝。 此NuGet包實際上並未顯示在Nuget包管理器中,但顯示在project.json文件中,也顯示在References-> DNX和DNX Core樹視圖項下。
當我嘗試顯式安裝Newtonsoft.Json包時,它確實升級到6.0.8但我得到了上面列出的錯誤。
此錯誤:“嚴重性代碼說明項目文件行錯誤NuGet包還原失敗,一個或多個包。請參閱”輸出“窗口中的詳細信息。
...通過確保我以管理員身份運行VisualStudio來解決這個問題。
雖然,頁面在第一次構建時沒有完全呈現。
我現在知道的最簡單的解決方案是使用Visual Studio 2013
而不是2015
來升級您的軟件包。
似乎問題已經解決了。 您必須更新您的NugetPackage Manager:
工具>擴展和更新>更新> Visual Studio庫
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.