簡體   English   中英

當不滿足依賴關系時,如何配置nuget不建議更新?

[英]How can I configure nuget to not suggest Updates when Dependencies aren't met?

我在基於.netcoreapp11的解決方案中有許多項目。

在Visual Studio版本15.5.6中,對於Nuget軟件包管理器版本4.5.0,

我的頁面上充滿了更新,這些更新顯示了對.NETStandard, Version=v2.0依賴關系。

嘗試更新其中任何一個都會導致

軟件包Microsoft.AspNetCore.Server.Kestrel... 2.0.1netcoreapp1.1不兼容

目前,我無法將我們的解決方案移至.Net Core 2。

如何配置我的解決方案或nuget不建議無法應用的更新?

如何配置我的解決方案或nuget不建議無法應用的更新?

恐怕您的解決方案或nuget沒有這樣的直接配置,不會自動建議所有軟件包的更新。

這是因為nuget 基於PackageReference中的版本檢測所有nuget源中是否存在更高的版本,而不是檢測要升級的版本與Target框架兼容。 僅當我們將nuget軟件包安裝到項目中時,nuget才會檢測該軟件包是否與Target框架兼容。 這是nuget的默認設計。 因此,在安裝該軟件包之前,我們無法指導解決方案或nuget的配置以不建議更新。

要解決此問題,有一種解決方法,我們可以通過指定版本范圍 Version="[1.*, 2.0.0)"來手動限制每個軟件包的nuget軟件包升級版本:

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="[1.*, 2.0.0)" />
  </ItemGroup>

在這種情況下,當nuget不會建議將該軟件包更新為版本2.0時:

在此處輸入圖片說明

注意:您應該使用*是浮動到更高版本的正確方法。

希望這可以幫助。

暫無
暫無

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

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