2016-07-06 19 views
5

Verwenden Sie die .NET-CLI, wenn ich eine ASP.NET Core 1.0-Anwendung erstellen möchte, die .NET Framework verwendet? Ist .NET CLI nur für die neue .NET Core-Bibliothek oder sowohl Core als auch .NET 4.6?Ist .NET CLI nur für .NET Core?

+1

Beziehen Sie sich auf die [Common Language Infrastructure] (https://en.wikipedia.org/wiki/Common_Language_Infrastructure) oder [Befehlszeilenschnittstelle] (http://www.hanselman.com/blog/ExploringTheNewNETDotnetCommandLineInterfaceCLI.aspx)? (Sie * mussten * wissen, dass es Verwirrung mit CLI verursachen würde, wenn CLI bereits eine gut etablierte Abkürzung war.) –

+0

Command Line Interface – Sam

+0

Vielen Dank für die Klärung - ich dachte, * vielleicht * Sie wollten eine CLI-konforme Anwendung erstellen /Bibliothek. –

Antwort

5

Verwende ich die CLI, wenn ich einen ASP.NET-Core 1.0 App erstellen möchten, die die .NET Framework verwendet?

Das .NET CLI für entweder ist, wird der Unterschied in der project.json Datei tatsächlich. Zum Beispiel können Sie den folgenden Befehl verwenden, um zu kompilieren/baut die ASP.NET Core- Anwendung, während die Anwendung tatsächlich die Voll Rahmen Targeting:

dotnet build

Hier ist, was project.json ein Beispiel wie Targeting aussehen würde .NET 4.6.

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

Weitere Einzelheiten ich die Leute immer ermutigen, die documentation hier zu verweisen. Ebenso, da dies open-source ist (was erstaunlich ist), können Sie sich die Quelle ansehen, um zu verstehen, wie diese verwendet werden soll.

5

Sie können dotnet cli auch für vollständige Framework-Apps und Bibliotheken verwenden. Sie müssen nur das entsprechende Framework-Tag verwenden, z. B. "net46", um auf .NET 4.6 zu zielen. Sie können mehrere Frameworks Ziel, auch:

Zum Beispiel aus meiner Noda Zeitbibliothek:

"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" 
    } 
    } 
} 

Der PCL Präprozessorsymbol an einem gewissen Punkt „DOTNET_CORE“ oder ähnliche umbenannt werden - es ist nur da, weil ich habe eine Menge Code, die es für die bedingte Kompilierung verwendet, wenn ich die Zielbibliotheken für Zielklassen ausgewählt habe.

Sie können immer noch auch target portable Klassenbibliotheken, übrigens ... so ein einzelnes Paket kann zielen auf viele verschiedene Versionen.

3

CLI ist nur Werkzeug. Was Ihre Anwendung zum Ausführen verwendet, ist nicht an Tooling gekoppelt (d. H. Solange das Tooling in der Lage ist, die richtige Anwendung für Ihr Zielframework zu erstellen, spielt es keine Rolle, wie Tooling ausgeführt wird). Vielmehr in Ihrer project.json Datei geben Sie den Zielrahmen in Form von Ziel framwork Moniker (zB net451 für .NET Framework 4.5.1 oder netcoreapp1.0 für .NET-Core-Anwendungen etc.)

+0

Muss ich die CLI separat erwerben oder wird ein Upgrade auf Visual Studio 2015 Update 3 automatisch CLI für mich installieren? – Sam

+0

Sie müssen Web Tooling auf Update3 installieren. Sie können VS Tooling von https://www.microsoft.com erhalten.com/net/download (NET Core Tooling Vorschau 2 für Visual Studio 2015) – Pawel

+0

@Sam, das ist ein Teil der hier gefundenen Anweisungen ... https://www.microsoft.com/net/core#windows –

Verwandte Themen