使用“ .NETFramework,Version = v4.6.1”而不是项目目标框架还原了软件包“ GuerrillaSharp 1.0.0”

时间:2019-06-06 15:05:00

标签: .net-core nuget

我试图理解为什么会发生警告。

步骤

  1. 打开Visual Studio 2019
  2. 创建新的.NET Core类库。这是使用目标框架.NET Core 2.1创建的。
  3. 添加nuget包GuerrillaSharp
  4. 构建项目

预期结果

没有问题或警告。

实际结果

  

警告NU1701
  使用“ .NETFramework,Version = v4.6.1”而不是项目目标框架“ .NETCoreApp,Version = v2.1”还原了软件包“ GuerrillaSharp 1.0.0”。该软件包可能与您的项目不完全兼容。

我检查的内容

我在Google / Stack Overflow上发现了类似的问题,但是看不到如何解释这种nuget包的情况。在许多其他帖子中,解决方案通常是安装较新版本的nuget软件包。

GuerillaSharp依赖项:

  • Newtonsoft.Json(> = 11.0.2),它支持.NET Standard 1.0、1.3和2.0。 因此,据我了解,这应该与.NET Core 2.1兼容。

1 个答案:

答案 0 :(得分:2)

GuerillaSharp仅具有net461二进制文件。有许多检查方法,但一种方法是view the package on fuget.org。 net461与netcoreapp2.1不“直接”兼容,但是由于许多软件包作者没有更新其软件包以支持netstandard,因此NuGet和.NET SDK团队添加了资产目标回退,这基本上表示“嗯,net461 API接近netstandard ,因此即使它可能不兼容,我们也要假设它是兼容的。这就是为什么您收到警告。它可能会起作用,但是如果GuerillaSharp使用任何.NET Framework专用的API,它将在运行时崩溃。