Ist "dotnet new sln" ein neuer Befehl?
Ja. In Version 1.0.1 der Dotnet-Befehlszeilenschnittstelle gibt es einen dotnet new sln
Befehl. Der Befehl kam mit dem Wechsel von project.json zu csproj . Wenn wir ausführen dotnet new --help
, wird "Lösungsdatei" als eine der Vorlagen angezeigt.
> dotnet new --help
Templates Short Name Language Tags
----------------------------------------------------------------------
Console Application console [C#], F# Common/Console
Class library classlib [C#], F# Common/Library
Unit Test Project mstest [C#], F# Test/MSTest
xUnit Test Project xunit [C#], F# Test/xUnit
ASP.NET Core Empty web [C#] Web/Empty
ASP.NET Core Web App mvc [C#], F# Web/MVC
ASP.NET Core Web API webapi [C#] Web/WebAPI
Solution File sln Solution
wann soll ich das benutzen
Zwei Mal, um eine Lösungsdatei zu verwenden, sind:
- wenn wir Visual Studio verwenden möchten und / oder
- wenn wir mehrere Projekte als eine Einheit verwalten möchten.
Welche Vorteile bringt es mir, eine SLN-Datei zu erstellen, anstatt nur Projektdateien zu haben? Ist es hauptsächlich zum Öffnen in Visual Studio? Ich verwende Visual Studio Code für Mac, daher ist er möglicherweise nicht anwendbar.
Einer der Vorteile, für die Visual Studio nicht erforderlich ist, ist die Verwaltung mehrerer Projekte als eine Einheit.
Auf einem Mac mit Visual Studio-Code können wir beispielsweise mithilfe der dotnet
CLI eine neue Lösung erstellen, einige Projekte erstellen, diese Projekte zur Lösung hinzufügen, die Lösung wiederherstellen und die Lösung erstellen.
dotnet new sln --name FooBar
dotnet new console --name Foo --output Foo
dotnet new console --name Bar --output Bar
dotnet sln add .\Foo\Foo.csproj
dotnet sln add .\Bar\Bar.csproj
dotnet restore
dotnet build FooBar.sln
Der letzte Befehl, der aufgerufen wird dotnet build
, hat den Vorteil, dass alle in der Lösung enthaltenen Projekte erstellt werden. Ohne eine Lösung müssten wir dotnet build
jedes Projekt aufrufen .
Es gibt zweifellos andere Vorteile, für die Visual Studio nicht erforderlich ist. Ich überlasse diese Ihnen zu entdecken.
dotnet
Sie über die Befehlszeile? Das heißt, was sehen Sie, wenn Sie schreibendotnet --version
?