繁体   English   中英

对于.Net Core 2.1项目,为什么Nuget恢复.Net 4.6.1包?

[英]For a .Net Core 2.1 project, Why does Nuget restores .Net 4.6.1 packages?

如果.Net Core没有软件包,我们如何在Install-Package命令期间强制执行严格的.Net运行时版本检查?

Install-package命令,为什么Visual Studio甚至还原.Net 4.6.1版本,只是为了在后期阶段给出运行时错误!

我确信VS团队已经考虑过了,必须有理由! 以及在Install-Package期间验证和严格运行时版本检查的机制。

警告:

警告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'进行了恢复。 此软件包可能与您的项目不完全兼容。

微软在这个GitHub问题对此进行了解释。 引用相关部分:

[...]

每当你使用通过compat shim的NuGet包时,你会收到如下警告:

警告NU1701:使用'.NETFramework,Version = v4.6.1'而不是项目目标框架'.NETCoreApp,Version = v2.0'恢复包'Huitian.PowerCollections 1.0.0'。 此软件包可能与您的项目不完全兼容。

我们确保每次构建时都会收到此警告(仅在程序包恢复期间),以确保您不会意外忽略它。

这里的想法是我们无法知道.NET Framework二进制文件是否真正起作用。 例如,它可能依赖于WinForms。 为了确保您不会浪费时间对无法正常工作的事情进行故障排除,我们会告诉您,您可能会失控。 当然,你必须忽略的警告令人讨厌。 因此,我们建议您测试您的应用程序/库,如果您确信一切正常,则禁止显示警告:

[...]

因此,如果包工作,那么您可以取消警告。 如果没有,您将不得不使用不同的包或等待包支持您的目标框架。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM