簡體   English   中英

在ASP.NET MVC 6中更新NuGet包

[英]Updating NuGet packages in ASP.NET MVC 6

我剛剛創建了一個新的ASP.NET MVC 6項目,並希望將NuGet包更新到最新版本(默認項目模板通常非常過時)。 我注意到以下更新是可能的:

  • Antlr.3.4.1.9004> Antlr.3.5.0.2
  • Newtonsoft.Json.6.0.4> Newtonsoft.Json.6.0.8
  • WebGrease.1.5.2> WebGrease.1.6.0

當我嘗試使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM