我创建了一个.net核心类库程序包,并将其上传到nuget.org。

在依赖项部分中说我的项目依赖于.NetStandard 1.4,即高于1.6的NetStandard.Library

为什么在版本号中存在如此令人困惑的不匹配?
.NetStandard和NetStandard.Library是否应该是同一回事?还是他们不同?

这是我的.csproj

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard1.4</TargetFramework>
    <PackageVersion>2.0.1</PackageVersion>
    <AssemblyName>currency</AssemblyName>
  </PropertyGroup>
</Project>

以及指向我的项目的链接:

https://www.nuget.org/packages/currency/

最佳答案

我发现了一个有关.NETStandard.Library的有趣页面:

What is the .NETStandard.Library metapackage?

在此页面上,作者说以下几点:



在Microsoft文档中,我找到了有关您的问题的以下信息:



链接:Look at .NetStandard

我认为,它将使用最新版本的.NETStandard.Library,因为它与.NETStandard的较早版本兼容,并且它只是带有引用和一组标准.Net API的元包。因此,如果您的软件包使用的是.NETStandard.Library版本1.6.1,那应该不是问题。

注意:如果您使用.NETStandard 2.0,并且使用.NETStandard.Library版本1.6.1,则无法使用!

更新:像在此答案的注释中提到的svick一样,.NETStandard.Library的最低版本为1.6.0版!

关于c# - 为什么.netstandard 1.4是NetStandard.Library 1.6?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44711570/

10-12 02:38