.NETCore-「dotnetnewsln」を使用する場合


86

私は少し混乱しています-私が読んでいる.NETCoreチュートリアルの大部分は「dotnetnewsln」について言及していません-それらは常にプロジェクトを個別に作成し、それらをリンクするソリューションファイルはありません。

  1. 「dotnetnewsln」は新しいコマンドですか?

  2. これはいつ使うべきですか?プロジェクトファイルだけでなく、.slnファイルを作成することでどのようなメリットがありますか?主にVisualStudioで開くためですか?Visual Studio Code for Macを使用しているため、適用できない場合があります。

「dotnetnewsln」をグーグルで検索しましたが、結果はごくわずかです。


dotnetコマンドラインからどのバージョンを使用していますか?つまり、書くと何が見えますdotnet --versionか?
Shaun Luttin 2017年

こんにちは@ShaunLuttin数日前にアップグレードしました... 1.0.1
AndyNZ 2017年

回答:


145

「dotnetnewsln」は新しいコマンドですか?

はい。dotnetコマンドラインインターフェイスのバージョン1.0.1には、dotnet new slnコマンドがあります。このコマンドには、project.jsonからcsprojへの変更が含まれています。を実行するdotnet new --helpと、テンプレートの1つとして「ソリューションファイル」が表示されます。

> 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

いつこれを使うべきですか?

ソリューションファイルを使用する2つの方法は次のとおりです。

  1. Visual Studioを使用する場合、および/または
  2. 複数のプロジェクトを1つのユニットとして管理したい場合。

プロジェクトファイルだけでなく、.slnファイルを作成することでどのようなメリットがありますか?主にVisualStudioで開くためですか?Visual Studio Code for Macを使用しているため、適用できない場合があります。

Visual Studioを必要としない利点の1つは、複数のプロジェクトを1つのユニットとして管理できることです。

たとえば、Visual Studio Codeを搭載したMacでは、dotnetCLIを使用して、新しいソリューションを作成し、いくつかのプロジェクトを作成し、それらのプロジェクトをソリューションに追加し、ソリューションを復元し、ソリューションを構築できます。

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各プロジェクトを呼び出す必要があります。

VisualStudioの使用を必要としない他の利点は間違いありません。私はそれらを発見するためにあなたに任せます。


クラスライブラリプロジェクトとそれに関連するテストプロジェクトのソリューションを使用することをお勧めしますか?
Horia Coman 2017年

@HoriaComanそのためのソリューションを使用するのは合理的なようです、はい。
Shaun Luttin 2017年

dotnet run -p Foo\Foo.csprojmvcプロジェクトに使用できますか?私がそうするときだけ働くようですcd Foo && dotnet run
Vincent De Smet 2017

@VincentDeSmetdotnet run -p .\Foo\Foo.csprojは私のために働きます。
Shaun Luttin 2017

私のサブフォルダーにあるconfig.Development.jsonがないことについて不平を言っていました
Vincent De Smet
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.