3

我有一个.NET Core 1.0应用程序,我已经为AWS Lambda构建。但是,AWS仅支持Standard.Library 1.6.0,而不支持1.6.1。强制NETStandard.Library 1.6.0 NuGet引用没有生成警告

我已经能够使用NuGet明确引用.NETStandard.Library 1.6.0 - 并且它在AWS中以这种方式成功地工作。

但是,对于我的大部分NuGe​​t引用,我收到了大量的构建警告,说“检测到的软件包降级:NETStandard.Library从1.6.1到1.6.0。直接从项目中引用软件包以选择不同的版本“。我在我的NuGet参考文献中收到了大量的黄色警告标志,我不想忽略它们。

我试着将每个在我的.csproj文件分开以下,但似乎没有任何工作...

<PropertyGroup> 
    <NetStandardImplicitPackageVersion>1.6.0</NetStandardImplicitPackageVersion> 
</PropertyGroup> 

<ItemGroup> 
    <PackageReference Update="NETStandard.Library" Version="1.6.0" /> 
</ItemGroup> 

<ItemGroup> 
    <NetStandardImplicitPackageVersion Include="NetStandardLibrary" Version="1.6.0" /> 
</ItemGroup> 

我宁愿不要忽略这些警告。这是很多噪音可能掩盖其他问题。有什么建议么?是否还有另一种我不知道的明确引用?

在此先感谢。

回答

1

只有您尝试设置的版本NetStandardImplicitPackageVersion是设置版本的正确方法。如果您更新到.NET Core 2.0.0 SDK以构建您的1.0应用程序,则新的NuGet版本允许您使用类似NoWarn的属性来控制警告:

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