Подтвердить что ты не робот

.NET Core - Когда использовать "dotnet new sln"

Я немного смущен - большинство учебных пособий .NET Core, которые я читал, не упомянули "dotnet new sln" - они всегда просто создают проекты отдельно, без файла решения, чтобы связать их вместе.

  • - "dotnet new sln" новая команда?

  • Когда я должен использовать это? какие выгоды я получу от создания sln файла, а не только с файлами проекта? Это в основном для открытия в Visual Studio? Я использую Visual Studio код для Mac, поэтому, возможно, не применимо.

У меня googled "dotnet new sln" , и результаты очень минимальны.

4b9b3361

Ответ 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. Я оставляю этих людей для вас.