簡體   English   中英

package.config更新不會更新引用

[英]package.config update does not update the references

我有多個項目引用相同的NuGet包。 當我得到最新的代碼時,我意識到其中一個項目有一個更新的package.config,並且還更新了對該包提供的Dll的引用。

現在,我還在其他項目上更新了package.config,希望一旦我對NuGet引擎進行升級,就會看到並獲取新的DLL。 好吧,它沒有發生。 在那之后,我嘗試了一些事情,但沒有一個工作:

  1. 刪除舊版本的DLL,然后執行還原包
  2. 刪除packages文件夾,重新啟動我的VS 2015並恢復軟件包

另外,有趣的是,當我去管理Nuget Packages並查看我需要新DLL的包時,它表明它已經是新版本,我不需要升級它。

有什么方法可以讓NuGet引擎升級這些包嗎?

只編輯packages.config文件不會導致Visual Studio對項目進行任何更改。 NuGet還原也不會修改您的項目。 NuGet恢復只是下載NuGet包並使它們可用於您的項目。

我只是使用Visual Studio中的NuGet包管理器或包管理控制台來更新所需項目中的NuGet包,而不是編輯packages.config文件。

其他替代方法包括更新項目文件(.csproj)以使用正確的更新程序集引用。 或者,您可以運行Update-Package -reinstall以強制卸載NuGet包並在項目中再次安裝。 這將修復程序集引用。

如果您的解決方案可以由Visual Studio 2017打開,我建議使用最新的PackageReference來管理nuget。 Packages.config有幾個缺點,PackageReference解決了這些問題。

以下是遷移到PackageReference的解決方案: https//github.com/NuGet/Home/wiki/Packages.config-to-PackageReference-Migrator

此外,您可以使用此擴展名: https//marketplace.visualstudio.com/items?itemName = TaylorSouthwickMSFT.NuGetPackagetoProjectjsonConverter

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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