2

Visual Studio 2015(添加了对 .NET Core 的支持)为您提供了创建 .NET Core 库或 .NET Core 控制台应用程序的选项。如果您这样做,并查看项目的 .json 文件,它看起来像是将您“限制”到 NetStandardLibrary 1.6 定义的 api:

{
  "version": "1.0.0-*",

  "dependencies": {
    "NETStandard.Library": "1.6.0",
    "Newtonsoft.Json": "9.0.1"
  },

  "frameworks": {
    "netstandard1.6": {
      "imports": "dnxcore50"
    }
  }
}

我的理解是 .net core 1.0 实际上具有比 NetStandardCore 更大的 api,那么为什么 VS 2015 默认您的应用程序只访问 NetStandardLibrary 1.6 中指定的 api?

4

1 回答 1

1

我的理解是 .net core 1.0 实际上有一个比 NetStandardCore 更大的 api

那是不正确的。.NET 标准库根据版本定义了一个特定的 API 外围应用。

版本号越高,您可以访问的 API 就越多。版本号越低,您的代码与其他平台(如旧版本的 .NET 或移动设备)的兼容性就越高netstandard1.6是目前最高和最大的 API。

.NET Core 1.0 或netcoreapp1.0目标netstandard1.6. 换句话说,它们具有相同的 API 可用。这个答案解释了你应该使用哪个名字:

  • netstandard1.X对于类库
  • netcoreapp1.0应用
于 2016-08-24T21:50:23.663 回答