.NET Core - "dotnet new sln" ne zaman kullanılır?


87

Biraz kafam karıştı - okuduğum.

  1. "Dotnet new sln" yeni bir komut mu?

  2. Bunu ne zaman kullanmalıyım? Yalnızca proje dosyalarına sahip olmak yerine bir .sln dosyası oluşturmanın faydaları nelerdir? Esas olarak Visual Studio'da açmak için mi? Mac için Visual Studio Code kullanıyorum, bu yüzden uygulanamayabilir.

Google'da "dotnet new sln" yazdım ve sonuçlar çok az.


dotnetKomut satırından hangi sürümünü kullanıyorsunuz? Yani yazarken ne görüyorsun dotnet --version?
Shaun Luttin

Merhaba @ShaunLuttin Birkaç gün önce yükselttim ... 1.0.1
AndyNZ

Yanıtlar:


148

"Dotnet new sln" yeni bir komut mu?

Evet. Dotnet komut satırı arabiriminin 1.0.1 sürümünde bir dotnet new slnkomut vardır. Komut , project.json'dan csproj'a değişiklikle geldi . Çalıştırırsak dotnet new --helpşablonlardan biri olarak "Çözüm Dosyası" görürüz.

> 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

bunu ne zaman kullanmalıyım?

Bir çözüm dosyasını kullanmak için iki kez:

  1. Visual Studio'yu kullanmak istediğimizde ve / veya
  2. birkaç projeyi tek bir birim olarak yönetmek istediğimizde.

Yalnızca proje dosyalarına sahip olmak yerine bir .sln dosyası oluşturmanın faydaları nelerdir? Esas olarak Visual Studio'da açmak için mi? Mac için Visual Studio Code kullanıyorum, bu yüzden uygulanamayabilir.

Visual Studio gerektirmeyen avantajlardan biri, birden çok projenin tek bir birim olarak yönetilmesidir.

Örneğin, Visual Studio Code içeren bir Mac'te, dotnetCLI'yi yeni bir çözüm oluşturmak, birkaç proje oluşturmak, bu projeleri çözüme eklemek, çözümü geri yüklemek ve çözümü oluşturmak için kullanabiliriz.

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

Çağıran son komut, dotnet buildçözümdeki tüm projeleri inşa etme avantajına sahiptir. Çözüm olmazsa dotnet buildher projeye başvurmamız gerekir .

Hiç şüphe yok ki, Visual Studio kullanımını gerektirmeyen başka faydalar vardır. Bunları keşfetmeniz için size bırakıyorum.


Bir sınıf kitaplığı projesi ve bununla ilişkili test projesi için bir çözüm kullanmanızı önerir misiniz?
Horia Coman

@HoriaComan Bunun için bir çözüm kullanmak mantıklı görünüyor, evet.
Shaun Luttin

dotnet run -p Foo\Foo.csprojMvc projeleri için kullanabilir miyiz ? sadece yaptığımda çalışıyor gibi görünüyorcd Foo && dotnet run
Vincent De Smet

@VincentDeSmet dotnet run -p .\Foo\Foo.csprojbenim için çalışıyor.
Shaun Luttin

Benim için alt klasöründe bir config.Development.json olmamasından şikayetçi oldu
Vincent De Smet
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.