2016-07-06 94 views
5

如果我想創建使用.NET Framework的ASP.NET Core 1.0應用程序,是否使用.NET CLI? .NET CLI僅適用於新的.NET Core庫還是Core和.NET 4.6?.NET CLI僅適用於.NET Core嗎?

+1

你是指[通用語言基礎結構] (https://en.wikipedia.org/wiki/Common_Language_Infrastructure)或[命令行界面](http://www.hanselman.com/blog/ExploringTheNewNETDotnetCommandLineInterfaceCLI.aspx)? (他們*知道在使用CLI時會導致混淆,因爲CLI已經是一個完善的縮寫。) –

+0

命令行界面 – Sam

+0

感謝澄清 - 我認爲*可能*您希望生成一個CLI兼容的應用程序/圖書館。 –

回答

5

難道我用的是CLI,如果我想創建一個ASP.NET 1.0的核心應用使用該.NET框架

.NET CLI對於兩種,區別在project.json文件實際上是由。例如,你可以使用下面的命令來編譯/構建ASP.NET核心應用,而應用程序實際上是針對全框架:

dotnet build

下面是一個例子project.json是什麼樣子目標.NET 4.6

{ 
    "frameworks": { 
    "net46": { } 
    } 
} 

欲瞭解更多詳情,我總是鼓勵人們參考在這裏找到的documentation。同樣,由於這是open-source(這太神奇了),您可以查看源代碼以瞭解它是如何用於此目的的。

5

對於完整的框架應用程序和庫,您也可以使用dotnet cli。你只需要使用適當的框架標籤 - 例如"net46"來定位.NET 4.6。您可以針對多種框架,太:

例如,從我的野田時庫:

"frameworks": { 
    "net45": { 
    "frameworkAssemblies": { 
     "System.Xml": "", 
     "System.Numerics": "" 
    } 
    }, 
    "netstandard1.1": { 
    "buildOptions": { 
     "define": [ "PCL" ] 
    }, 
    "dependencies": { 
     "System.Diagnostics.Debug": "4.0.11", 
     "System.Globalization": "4.0.11", 
     "System.Linq": "4.1.0", 
     "System.Resources.ResourceManager": "4.0.1", 
     "System.Runtime.Extensions": "4.1.0", 
     "System.Runtime.Numerics": "4.0.1", 
     "System.Runtime.Serialization.Xml": "4.1.1", 
     "System.Threading": "4.0.11", 
     "System.Xml.XmlSerializer": "4.0.11" 
    } 
    } 
} 

PCL預處理符號將被重新命名爲「DOTNET_CORE」或在某些時候類似 - 這是隻有在那裏,因爲我當我用於定位可移植類庫時,有一堆代碼將它用於條件編譯。

你仍然可以目標便攜式類庫,順便說一句...所以一個包可以針對許多不同的版本。

3

CLI只是工具。您的應用程序將用於運行的內容與工具無關(即只要該工具能夠爲您的目標框架創建正確的應用程序,就不需要工具的運行方式)。相反,在你project.json文件指定的目標框架目標framwork綽號的形式(例如net451爲.NET框架4.5.1或netcoreapp1.0用於.NET應用程序的核心等)

+0

我需要單獨獲取CLI還是升級到Visual Studio 2015 Update 3會自動爲我安裝CLI? – Sam

+0

您需要在Update3之上安裝Web工具。你可以從https://www.microsoft獲得VS工具。com/net/download(Visual Studio 2015的NET Core Tooling Preview 2) – Pawel

+0

@Sam,這是在這裏找到的說明的一部分... https://www.microsoft.com/net/core#windows –