如果.Net Core软件包不可用在Install-Package
命令期间,我们如何执行严格的.Net运行时版本检查?
Install-package命令,为什么Visual Studio甚至还原.Net 4.6.1版本,只是为了在以后提供运行时错误!
我确定VS团队已经考虑过了,这一定是有原因的! 以及一种在安装包过程中验证和严格运行时版本检查的机制。
警告:
警告NU1701软件包'Microsoft.AspNet.Identity.Core 2.2.2'是 使用'.NETFramework,Version = v4.6.1'而非项目还原 目标框架'.NETStandard,Version = v2.0'。这个包裹可能不是 与您的项目完全兼容。
编辑: 我只是以完整的.net框架包之一为例。
目的是询问如何防止它在Nuget软件包管理器中发生。
警告NU1701软件包
<any full .net framework package>
原为 使用'.NETFramework,Version = v4.6.1'而非项目还原 目标框架'.NETStandard,Version = v2.0'。这个包裹可能不是 与您的项目完全兼容。
答案 0 :(得分:5)
Microsoft在this GitHub issue中对此进行了解释。引用相关部分:
[...]
每当您使用通过compat填充程序的NuGet软件包时,都会收到如下警告:
警告NU1701:使用“ .NETFramework,Version = v4.6.1”而不是项目目标框架“ .NETCoreApp,Version = v2.0”恢复了软件包“ Huitian.PowerCollections 1.0.0”。该软件包可能与您的项目不完全兼容。
我们确保您在每次构建时都会收到此警告(而不是仅在软件包还原期间),以确保您不会意外忽略它。
这里的想法是,我们无法知道.NET Framework二进制文件是否将实际工作。例如,它可能取决于WinForms。为确保您不会浪费时间对无法解决的问题进行故障排除,我们告诉您您可能会脱离正常工作。当然,您必须忽略的警告很烦人。因此,我们建议您测试您的应用程序/库,如果您确信一切正常,请取消该警告:
[...]
因此,如果该软件包有效,则可以禁止显示警告。如果没有,则必须使用其他软件包或等待该软件包支持您的目标框架。