2017-08-28 98 views
2

我正在与我的.NET类库项目,目标多个.NET框架,现在已经在我的Windows 10机器下载了.NET Core 2.0 SDK我试图将目标.NET Standard 2.0以及。NET标准2.0 NuGet包生成

<TargetFrameworks>net45;net46;netstandard1.0;netstandard1.3;netstandard2.0</TargetFrameworks>

的问题是,当由的Visual Studio(2017)汇编经由的NuGet包资源打开后产生的的NuGet包它示出了对于.NET Standard 2.0没有依赖关系。

Screenshot1 Screenshot2

它不应该是具有NETStandard.Library 2.0.0的依赖?

如果是这样的话(至少在VS发布更新之前)在NuGet包中明确指定了一个依赖项:NETStandard.Library 2.0.0

为了确定它不是我的项目的独立案例,我创建了另一个项目并添加了Newtonsoft.Json作为依赖项。结果仍然是一样的。

Screenshot3

回答

4

默认NETStandard.Library版本仍然是1.6.1发布了.NET标准版本低于2.0时。虽然2.0.0版本在技术上是相同的(它具有旧版.NET标准版本的相同列表),但您可能会为使用参考1.6.1版本的项目创建降级警告。

对于.NET标准版本2.0和更高版本,不需要依赖NETStandard.Library,因此只要不添加任何其他NuGet包,您的库就会显示“无相关性”。

+0

+1澄清,但我仍然不确定最后一部分,只要我不添加任何额外的* NuGet *包引用,它就会显示'无依赖关系'。正如你在上面的截图中看到的那样,即使在我将* Newtonsoft.Json *添加为依赖项后,结果仍然是一样的。 – AmatuerDev

+0

@AmatuerDev是的,这就是马丁所说的。 NETStandard.Library不再显示为依赖关系,如果你有其他的依赖,比如Newtonsoft.Json,它会显示出来,但是NetStandard.Library将不会显示出来。 –

+0

@ScottChamberlain那就解释一下吧。我想我读错了最后一部分。标记为答案。谢了哥们。 – AmatuerDev