代码之家  ›  专栏  ›  技术社区  ›  Abhijeet

对于.NETCore2.1项目,Nuget为什么要恢复.NET4.6.1包?

  •  5
  • Abhijeet  · 技术社区  · 7 年前

    如果包不可用于.Net Core Install-Package 命令?

    Install package命令,为什么visualstudio还要还原.Net 4.6.1版本,只是为了在后期给出一个运行时错误!

    以及验证;在安装包期间进行严格的运行时版本检查。

    警告:NU1701包“Microsoft.AspNet.Identity.Core 2.2.2”被删除 使用“.NETFramework,Version=v4.6.1”而不是项目还原 目标框架“.NETStandard,版本=v2.0”。此程序包可能不可用 与您的项目完全兼容。

    编辑: 我只是以一个完整的.NETFramework包为例。

    目的是询问如何防止它在Nuget包管理器中发生。

    <any full .net framework package> 是 使用“.NETFramework,Version=v4.6.1”而不是项目还原 与您的项目完全兼容。

    1 回复  |  直到 7 年前
        1
  •  13
  •   user247702    7 年前

    微软在 this GitHub issue

    [...]

    警告NU1701:包“Huitian.PowerCollections 1.0.0”已使用“.NETFramework,Version=v4.6.1”而不是项目目标framework“.NETCoreApp,Version=v2.0”还原。此软件包可能与您的项目不完全兼容。

    我们确保您在每次构建时(而不是仅在包还原期间)都会收到此警告,以确保您不会意外地忽略它。

    这里的想法是,我们无法知道.NETFramework二进制文件是否真的可以工作。例如,它可能依赖于WinForms。为了确保您不会浪费时间解决无法工作的问题,我们会让您知道您可能会越轨。当然,你必须忽略的警告是令人讨厌的。因此,我们建议您测试应用程序/库,如果您确信一切正常,则取消显示警告:

    [...]

    因此,如果包正常工作,则可以抑制警告。如果没有,您将不得不使用另一个包,或者等待该包支持您的目标框架。