我刚刚将我的 PCL 库转换为新的 .Net 标准库,我的依赖项上有一些黄色警告三角形,如下所示:
在转换过程中,它带来了所有 nuget 包,包括依赖项,因此可以复制。
如何找出黄色警告三角形代表什么?
编辑
构建日志:
要防止 NuGet 在构建期间恢复包,请打开 Visual Studio 选项对话框,单击包管理器节点并取消选中“允许 NuGet 在构建期间下载丢失的包”。NU1605:检测到包降级:NUnit 从 3.8.1 到 2.6.4。直接从项目中引用包以选择不同的版本。 MyProj.UI.Tests -> MyProj.Core.Tests -> NUnit (>= 3.8.1) MyProj.UI.Tests -> NUnit (>= 2.6.4) NU1605:检测到包降级:NUnit 从 3.8.1 到 2.6.4。直接从项目中引用包以选择不同的版本。MyProj.UI.Tests.iOS -> MyProj.UI.Tests -> MyProj.Core.Tests -> NUnit (>= 3.8.1) MyProj.UI.Tests.iOS -> NUnit (>= 2.6.4) NU1605:检测到的包降级:NUnit 从 3.8.1 到 2.6.4。直接从项目中引用包以选择不同的版本。 MyProj.UI.Tests.Android -> MyProj.UI.Tests -> MyProj.Core.Tests -> NUnit (>= 3.8.1) MyProj.UI.Tests.Android -> NUnit (>= 2.6.4)
在构建日志中,我碰巧注意到了这一点:
C:\Program Files\dotnet\sdk\2.0.2\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.Sdk.DefaultItems.targets(199,5):警告:“NETStandard.Library”的 PackageReference 是包含在您的项目中。此包由 .NET SDK 隐式引用,您通常不需要从项目中引用它。有关详细信息,请参阅https://aka.ms/sdkimplicitrefs
因此,我去卸载了所有列为此处列出的.Net Standard nuget的依赖项的软件包:
.Net Standard
.NET 标准 1.1 Microsoft.NETCore.Platforms (>= 1.1.0) System.Collections (>= 4.3.0) System.Collections.Concurrent (>= 4.3.0) System.Diagnostics.Debug (>=> 4.3.0) System.Diagnostics.Tools (>= 4.3.0) System.Diagnostics.Tracing (>= 4.3.0) System.Globalization (>= 4.3.0) System.IO (>= 4.3.0) System.IO.Compression (>= 4.3.0) System.Linq (>= 4.3.0) System.Linq.Expressions (>= 4.3.0) System.Net.Http (>= 4.3.2) System.Net.Primitives (>= 4.3.0) System.ObjectModel (>= 4.3.0) System.Reflection (>= 4.3.0) System.Reflection.Extensions (>= 4.3.0) System.Reflection.Primitives (>= 4.3.0) System.Resources.ResourceManager (>= 4.3.0) System.Runtime (>= 4.3.0) System.Runtime.Extensions (>= 4.3.0) System.Runtime.InteropServices (>= 4.3.0) System.Runtime.InteropServices.RuntimeInformation (>=> 4.3.0) System.Runtime.Numerics (>= 4.3.0) System.Text.Encoding (>= 4.3.0) System.Text.Encoding.Extensions (>= 4.3.0) System.Text.RegularExpressions (>= 4.3.0) System.Threading (>= 4.3.0) System.Threading.Tasks (>= 4.3.0) System.Xml.ReaderWriter (>= 4.3.0) System.Xml.XDocument (>= 4.3.0)
.NET 标准 1.1
Microsoft.NETCore.Platforms (>= 1.1.0)
System.Collections (>= 4.3.0)
System.Collections.Concurrent (>= 4.3.0)
System.Diagnostics.Debug (>=> 4.3.0)
System.Diagnostics.Tools (>= 4.3.0)
System.Diagnostics.Tracing (>= 4.3.0)
System.Globalization (>= 4.3.0)
System.IO (>= 4.3.0)
System.IO.Compression (>= 4.3.0)
System.Linq (>= 4.3.0)
System.Linq.Expressions (>= 4.3.0)
System.Net.Http (>= 4.3.2)
System.Net.Primitives (>= 4.3.0)
System.ObjectModel (>= 4.3.0)
System.Reflection (>= 4.3.0)
System.Reflection.Extensions (>= 4.3.0)
System.Reflection.Primitives (>= 4.3.0)
System.Resources.ResourceManager (>= 4.3.0)
System.Runtime (>= 4.3.0)
System.Runtime.Extensions (>= 4.3.0)
System.Runtime.InteropServices (>= 4.3.0)
System.Runtime.InteropServices.RuntimeInformation (>=> 4.3.0)
System.Runtime.Numerics (>= 4.3.0)
System.Text.Encoding (>= 4.3.0)
System.Text.Encoding.Extensions (>= 4.3.0)
System.Text.RegularExpressions (>= 4.3.0)
System.Threading (>= 4.3.0)
System.Threading.Tasks (>= 4.3.0)
System.Xml.ReaderWriter (>= 4.3.0)
System.Xml.XDocument (>= 4.3.0)
黄色警告消失了。
从这里:https ://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-net- standard-2-0/
我还发现您可以使用 NoWarn 属性,如下所示:
<ItemGroup> <PackageReference Include="Huitian.PowerCollections" Version="1.0.0" NoWarn="NU1701" /> </ItemGroup>