您执行以下操作:
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>
但我想了解解决问题的正确方法。
答案 0 :(得分:19)
不幸的是,除了包所有者之外没有其他选择来升级他们的引用或者你在csproj中添加了clausule。有关详细信息,请参阅此GitHub问题:https://github.com/dotnet/core/issues/907
答案 1 :(得分:15)
根据Microsoft,可以通过在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时,它们彼此不兼容。有问题的程序包通常以系统或Microsoft,并且版本号在4.0.0和4.3.1之间。在这种情况下,降级消息将在依赖关系链中具有一个从运行时开始的包。”