2016-07-02 98 views
10

我想要開始使用.NET Core,並且我真的有些頭痛,以瞭解所有這些新的命名方案。爲什麼不Microsoft.NETCore.App支持netstandard1.6?

望着維基netcoreapp1.0目標的.NET標準庫1.6,但是當我嘗試添加netstandard1.6代替netcoreapp1.0我得到一個包還原失敗,因爲Microsoft.NetCore.App不支持netstandard1.6

難道是因爲這樣?

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

此外,「平臺」類型是什麼意思?

+0

您確定您使用的是最新發布的.Net Core SDK(預覽版2)嗎? – svick

回答

11

你用什麼和參考取決於您正在構建的應用程序,或共享庫:

  • 如果要構建一個應用(控制檯,UWP,ASP.NET核心的Web應用程序) ,您的目標是netcoreapp1.0並取決於Microsoft.NetCore.Apptype: platform告訴NuGet您正在引用一個平臺,該平臺並未作爲軟件包進行安裝。 netcoreapp1.0進口netstandard1.6,這意味着它可以使用也指向netstandard1.6或更低版本的庫。

  • 如果你正在建設一個(由其他庫或應用程序消耗),你的目標netstandard1.X,要麼依賴於NETStandard.Library或直接引用您需要的NuGet包。

+0

我在wiki上看到netcoreapp1.0是覆蓋netstandard1.6,net463也是這樣,但是net framework 4.6.3還沒有發佈對不對? – Paleta

+0

@Paleta根據[本文檔](https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-platform-standard.md#mapping-the-net-platform-standard-to-平臺),'net463'將映射到'netstandard1.6'。你說得對,它還沒有發佈。 –

+0

@NateBarbettini你能否在你的回答中澄清一下'Microsoft.NETCore.App' NuGet需要tfm'netcoreapp'。 'NETStandard.Library' NuGet需要tfm'netstandard'。因此,'netcoreapp'(後臺導入'netstandard')可以同時使用NuGets,而'netstandard'庫只能引用'NETStandard.Library'。 – Thomas