¿Es "dotnet new sln" un comando nuevo?
Si. En la versión 1.0.1 de la interfaz de línea de comandos dotnet, hay un dotnet new sln
comando. El comando vino con el cambio de project.json a csproj . Si lo ejecutamos dotnet new --help
, veremos "Archivo de solución" como una de las plantillas.
> 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
cuando debo usar esto?
Dos veces para usar un archivo de solución son:
- cuando queremos usar Visual Studio, y / o
- cuando queremos gestionar varios proyectos como una sola unidad.
¿Qué beneficios obtengo al crear un archivo .sln en lugar de solo tener archivos de proyecto? ¿Es principalmente para abrir en Visual Studio? Utilizo Visual Studio Code para Mac, por lo que puede que no sea aplicable.
Uno de los beneficios que no requiere Visual Studio es la gestión de múltiples proyectos como una sola unidad.
Por ejemplo, en una Mac con Visual Studio Code, podemos usar la dotnet
CLI para crear una nueva solución, crear algunos proyectos, agregar esos proyectos a la solución, restaurar la solución y construir la solución.
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
El último comando, que llama dotnet build
, tiene la ventaja de construir todos los proyectos que están en la solución. Sin una solución, tendríamos que recurrir a dotnet build
cada proyecto.
Sin duda, existen otros beneficios que no requieren el uso de Visual Studio. Los dejo para que los descubras.
dotnet
estás usando desde la línea de comandos? Es decir, ¿qué ves cuando escribesdotnet --version
?