簡體   English   中英

修復錯誤 NU1605 的正確方法是什么:檢測到包降級 - log4net

[英]What is the right way to fix error NU1605: Detected package downgrade - log4net

您可以按以下步驟操作:

dotnet new console
dotnet add-package log4net --version 2.0.8
dotnet publish -r win10-x64

然后你得到:

error NU1605: Detected package downgrade: System.Runtime.InteropServices from 4.3.0 to 4.1.0.

您可以修復它,將以下內容添加到 PropertyGroup 下的 csproj

<NoWarn>$(NoWarn);NU1605</NoWarn>

但我想了解解決這個問題的正確方法。

不幸的是,除了包所有者升級他們的引用或者您在 csproj 中添加條款之外別無選擇。 有關更多信息,請參閱此 GitHub 問題: https : //github.com/dotnet/core/issues/907

根據微軟的說法,這可以通過將以下內容添加到您的 csproj 來解決。

<PackageReference Include="Microsoft.NETCore.Targets" Version="3.0.0" PrivateAssets="all" />

https://docs.microsoft.com/en-us/nuget/reference/errors-and-warnings/nu1605#issue-1

“.NET Core 1.0 和 1.1 附帶的某些包組合在 .NET Core 3.0 或更高版本項目中一起引用時彼此不兼容,並且指定了 RuntimeIdentifier。有問題的包通常以 System. 或Microsoft.,並且版本號在 4.0.0 和 4.3.1 之間。在這種情況下,降級消息將在依賴鏈中包含一個以 runtime. 開頭的包。”

暫無
暫無

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

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