dotnet sln

この記事の対象: ✔️ .NET Core 3.1 SDK 以降のバージョン

名前

`dotnet sln` - .NET ソリューション ファイル内のプロジェクトを一覧表示または変更します。

構文

dotnet sln [<SOLUTION_FILE>] [command]

dotnet sln [command] -h|--help

説明

`dotnet sln` コマンドでは、ソリューション ファイル内のプロジェクトを一覧表示および変更するための便利な方法を提供します。

ソリューション ファイルを作成する

`dotnet sln` コマンドを使用するには、ソリューション ファイルが既に存在している必要があります。 作成する必要がある場合、sln テンプレート名を指定して dotnet new コマンドを使用します。

次の例では、現在のフォルダーに、フォルダーと同じ名前の .sln ファイルが作成されます。

dotnet new sln

次の例では、現在のフォルダーに、指定したファイル名の .sln ファイルが作成されます。

dotnet new sln --name MySolution

次の例では、指定したフォルダーに、フォルダーと同じ名前の .sln ファイルが作成されます。

dotnet new sln --output MySolution

引数

  • SOLUTION_FILE

    使用するソリューション ファイル。 この引数が省略された場合、コマンドでは、現在のディレクトリでの検索を行います。 ソリューション ファイルが見つからない場合、または複数のソリューション ファイルが見つかった場合、コマンドは失敗します。

オプション

  • -?|-h|--help

    コマンドの使用方法を示した説明を出力します。

コマンド

list

ソリューション ファイルのすべてのプロジェクトを一覧表示します。

構文

dotnet sln list [-h|--help]

引数

  • SOLUTION_FILE

    使用するソリューション ファイル。 この引数が省略された場合、コマンドでは、現在のディレクトリでの検索を行います。 ソリューション ファイルが見つからない場合、または複数のソリューション ファイルが見つかった場合、コマンドは失敗します。

オプション

  • -?|-h|--help

    コマンドの使用方法を示した説明を出力します。

add

1 つ以上のプロジェクトをソリューション ファイルに追加します。

構文

dotnet sln [<SOLUTION_FILE>] add [--in-root] [-s|--solution-folder <PATH>] <PROJECT_PATH> [<PROJECT_PATH>...]
dotnet sln add [-h|--help]

引数

  • SOLUTION_FILE

    使用するソリューション ファイル。 指定されていない場合、コマンドでは、現在のディレクトリでの検索を行います。複数のソリューション ファイルがある場合、コマンドは失敗します。

  • PROJECT_PATH

    ソリューションに追加する 1 つ以上のプロジェクトへのパス。 Unix/Linux シェルの[glob パターン](https://en.wikipedia.org/wiki/Glob_(programming))拡張機能は、`dotnet sln`コマンドで正しく処理されます。

    `PROJECT_PATH` にプロジェクト フォルダーを含むフォルダーが含まれている場合、パスのその部分を使用して[ソリューション フォルダー](/visualstudio/ide/solutions-and-projects-in-visual-studio#solution-folder)が作成されます。 たとえば、次のコマンドでは、ソリューション フォルダー `folder1/folder2``myapp` を使用してソリューションが作成されます。

    dotnet new sln
    dotnet new console --output folder1/folder2/myapp
    dotnet sln add folder1/folder2/myapp
    

    この既定の動作は、`--in-root` または `-s|--solution-folder ` オプションを使用してオーバーライドできます。

オプション

  • -?|-h|--help

    コマンドの使用方法を示した説明を出力します。

  • --in-root

    ソリューション フォルダーを作成するのではなく、プロジェクトをソリューションのルートに配置します。 -s|--solution-folder とは使用できません。

  • -s|--solution-folder <PATH>

    プロジェクトの追加先の[ソリューション フォルダー](/visualstudio/ide/solutions-and-projects-in-visual-studio#solution-folder)のパス。 --in-root とは使用できません。

remove

ソリューション ファイルから 1 つまたは複数のプロジェクトを削除します。

構文

dotnet sln [<SOLUTION_FILE>] remove <PROJECT_PATH> [<PROJECT_PATH>...]
dotnet sln [<SOLUTION_FILE>] remove [-h|--help]

引数

  • SOLUTION_FILE

    使用するソリューション ファイル。 指定されていない場合、コマンドでは、現在のディレクトリでの検索を行います。複数のソリューション ファイルがある場合、コマンドは失敗します。

  • PROJECT_PATH

    ソリューションから削除する 1 つ以上のプロジェクトへのパス。 Unix/Linux シェルの[glob パターン](https://en.wikipedia.org/wiki/Glob_(programming))拡張機能は、`dotnet sln`コマンドで正しく処理されます。

オプション

  • -?|-h|--help

    コマンドの使用方法を示した説明を出力します。

  • ソリューション内のプロジェクトを一覧表示する:

    dotnet sln todo.sln list
    
  • ソリューションに 1 つの C# プロジェクトを追加する:

    dotnet sln add todo-app/todo-app.csproj
    
  • ソリューションから 1 つの C# プロジェクトを削除する:

    dotnet sln remove todo-app/todo-app.csproj
    
  • ソリューションのルートに複数の C# プロジェクトを追加する:

    dotnet sln todo.sln add todo-app/todo-app.csproj back-end/back-end.csproj --in-root
    
  • ソリューションに複数の C# プロジェクトを追加する:

    dotnet sln todo.sln add todo-app/todo-app.csproj back-end/back-end.csproj
    
  • ソリューションから複数の C# プロジェクトを削除する:

    dotnet sln todo.sln remove todo-app/todo-app.csproj back-end/back-end.csproj
    
  • glob パターンを使用して、ソリューションに複数の C# プロジェクトを追加する (Unix/Linux のみ):

    dotnet sln todo.sln add **/*.csproj
    
  • glob パターンを使用して、ソリューションに複数の C# プロジェクトを追加する (Windows PowerShell のみ):

    dotnet sln todo.sln add (ls -r **/*.csproj)
    
  • glob パターンを使用して、ソリューションから複数の C# プロジェクトを削除する (Unix/Linux のみ):

    dotnet sln todo.sln remove **/*.csproj
    
  • glob パターンを使用して、ソリューションから複数の C# プロジェクトを削除する (Windows PowerShell のみ):

    dotnet sln todo.sln remove (ls -r **/*.csproj)
    
  • ソリューション、コンソール アプリ、および 2 つのクラス ライブラリを作成します。 ソリューションにプロジェクトを追加し、`dotnet sln``--solution-folder` オプションを使用して、クラス ライブラリをソリューション フォルダーに整理します。

    dotnet new sln -n mysolution
    dotnet new console -o myapp
    dotnet new classlib -o mylib1
    dotnet new classlib -o mylib2
    dotnet sln mysolution.sln add myapp\myapp.csproj
    dotnet sln mysolution.sln add mylib1\mylib1.csproj --solution-folder mylibs
    dotnet sln mysolution.sln add mylib2\mylib2.csproj --solution-folder mylibs
    

    次のスクリーンショットは、Visual Studio 2019 **ソリューション エクスプローラー**の結果を示しています。

    ソリューション フォルダーにグループ化されたクラス ライブラリ プロジェクトを示すソリューション エクスプローラー。

関連項目

  • [dotnet/sdk GitHub リポジトリ](https://github.com/dotnet/sdk) (.NET CLI ソース)