![](/img/trans.png)
[英]How do I prevent installing nuget packages that aren't 100% .Net Core 2.0 compatible?
[英]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.1
與netcoreapp1.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.