"Dotnet new sln" è un nuovo comando?
Sì. Nella versione 1.0.1 dell'interfaccia della riga di comando dotnet, è disponibile un dotnet new sln
comando. Il comando è arrivato con il passaggio da project.json a csproj . Se eseguiamo dotnet new --help
, vedremo "File di soluzione" come uno dei modelli.
> 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
quando dovrei usarlo?
Due volte per utilizzare un file di soluzione sono:
- quando vogliamo utilizzare Visual Studio e / o
- quando vogliamo gestire più progetti come una singola unità.
Quali vantaggi ottengo dalla creazione di un file .sln invece di avere solo file di progetto? È principalmente per l'apertura in Visual Studio? Uso Visual Studio Code per Mac, quindi potrebbe non essere applicabile.
Uno dei vantaggi che non richiedono Visual Studio è la gestione di più progetti come una singola unità.
Ad esempio, su un Mac con Visual Studio Code, possiamo utilizzare la dotnet
CLI per creare una nuova soluzione, creare alcuni progetti, aggiungere quei progetti alla soluzione, ripristinare la soluzione e compilare la soluzione.
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
L'ultimo comando, che chiama dotnet build
, ha il vantaggio di costruire tutti i progetti che sono nella soluzione. Senza una soluzione, avremmo bisogno di ricorrere dotnet build
a ogni progetto.
Non ci sono dubbi altri vantaggi che non richiedono l'uso di Visual Studio. Li lascio a voi scoprire.
dotnet
stai usando dalla riga di comando? Cioè, cosa vedi quando scrividotnet --version
?