Почему Microsoft.NETCore.App не поддерживает netstandard1.6?

Я пытаюсь начать работу с .NET Core, и у меня действительно есть некоторые головные боли, чтобы понять всю эту новую схему именования.

Глядя на wiki netcoreapp1.0, он нацелен на .NET Standard Library 1.6, однако, когда я пытаюсь добавить netstandard1.6 вместо netcoreapp1.0, я не получил восстановление пакета, потому что Microsoft.NetCore.App не поддерживает netstandard1.6.

Это потому, что он делится так?

"Microsoft.NETCore.App": {
  "version": "1.0.0",
  "type": "platform"
},

Кроме того, что означает тип "платформа"?

Ответ 1

То, что вы используете и ссылаетесь, зависит от того, создаете ли вы приложение или совместно используемую библиотеку:

  • Если вы создаете приложение (консоль, UWP, веб-приложение ASP.NET Core), вы будете нацелены на netcoreapp1.0 и зависят от Microsoft.NetCore.App. type: platform сообщает NuGet, что вы ссылаетесь на платформу, которая не устанавливается как пакет. netcoreapp1.0 импортирует netstandard1.6, что означает, что он может использовать библиотеки, которые также нацелены на netstandard1.6 или ниже.

  • Если вы создаете библиотеку (которая будет потребляться другой библиотекой или приложением), вы будете нацелены на netstandard1.X и либо зависят от NETStandard.Library, либо напрямую ссылаются на пакеты NuGet вам нужно.