Ответ 1
- "dotnet new sln" новая команда?
Да. В версии 1.0.1 интерфейса командной строки dotnet существует команда dotnet new sln
. Команда пришла с изменением с project.json на csproj. Если мы запустим dotnet new --help
, мы увидим "Файл решения" в качестве одного из шаблонов.
> 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
Когда я должен использовать это?
Два раза использовать файл решения:
- когда мы хотим использовать Visual Studio и/или
- когда мы хотим управлять несколькими проектами как единое целое.
какие выгоды я получу от создания sln файла вместо того, чтобы иметь только файлы проекта? Это в основном для открытия в Visual Studio? Я использую визуальный код студии для mac, поэтому, возможно, не применимо.
Одним из преимуществ, которым не требуется Visual Studio, является управление несколькими проектами как единое целое.
Например, на Mac с VS-кодом мы можем использовать CLI dotnet
для создания нового решения, создания нескольких проектов, добавления этих проектов в решение, восстановления решения и построения решения.
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
Последняя команда, которая вызывает dotnet build
, имеет преимущество при построении всех проектов, находящихся в решении. Без решения нам нужно было бы вызвать dotnet build
для каждого проекта.
Нет никаких других преимуществ, которые не требуют использования Visual Studio. Я оставляю этих людей для вас.