Apakah "dotnet new sln" adalah perintah baru?
Iya. Dalam versi 1.0.1 dari antarmuka baris perintah dotnet, ada sebuah dotnet new sln
perintah. Perintah tersebut datang dengan perubahan dari project.json ke csproj . Jika dijalankan dotnet new --help
, kita akan melihat "File Solusi" sebagai salah satu template.
> 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
kapan saya harus menggunakan ini?
Dua kali untuk menggunakan file solusi adalah:
- ketika kita ingin menggunakan Visual Studio, dan / atau
- ketika kami ingin mengelola beberapa proyek sebagai satu kesatuan.
Manfaat apa yang saya peroleh dari membuat file .sln daripada hanya memiliki file proyek? Apakah ini terutama untuk pembukaan di Visual Studio? Saya menggunakan Visual Studio Code untuk Mac, jadi ini mungkin tidak dapat diterapkan.
Salah satu manfaat yang tidak memerlukan Visual Studio adalah pengelolaan beberapa proyek sebagai satu kesatuan.
Misalnya, di Mac dengan Visual Studio Code, kita dapat menggunakan dotnet
CLI untuk membuat solusi baru, membuat beberapa proyek, menambahkan proyek tersebut ke solusi, memulihkan solusi, dan membangun solusi.
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
Perintah terakhir, yang memanggil dotnet build
, memiliki manfaat membangun semua proyek yang ada dalam solusi. Tanpa solusi, kami perlu memanggil dotnet build
setiap proyek.
Tidak diragukan lagi manfaat lain yang tidak memerlukan penggunaan Visual Studio. Saya serahkan pada Anda untuk ditemukan.
dotnet
yang Anda gunakan dari baris perintah? Artinya, apa yang Anda lihat saat menulisdotnet --version
?