この記事の対象: ✔️ .NET 6 SDK 以降のバージョン
名前
dotnet sln - .NET ソリューション ファイル内のプロジェクトを一覧表示または変更するか、ファイルを .slnx ファイルに移行します。
概要
dotnet sln [<SOLUTION_FILE>] [command]
dotnet sln [command] -h|--help
形容
dotnet sln コマンドを使用すると、ソリューション ファイル内のプロジェクトを一覧表示および変更するのに便利な方法が提供されます。
ソリューション ファイルを作成する
dotnet sln コマンドを使用するには、ソリューション ファイルが既に存在している必要があります。 作成する必要がある場合は、 テンプレート名で sln コマンドを使用します。
次の例では、フォルダーと同じ名前の .slnx ファイルを現在のフォルダーに作成します。
dotnet new sln
次の例では、指定したファイル名を使用して、現在のフォルダーに .slnx ファイルを作成します。
dotnet new sln --name MySolution
次の例では、指定したフォルダーにフォルダーと同じ名前の .slnx ファイルを作成します。
dotnet new sln --output MySolution
注
.NET 9 以前のバージョンでは、dotnet new slnは .slnx ファイルではなく.sln ファイルを作成します。
引数
SOLUTION_FILE使用するソリューション ファイル (.sln または .slnx ファイル)。
指定しない場合、コマンドは現在のディレクトリで .sln を検索するか、.slnx ファイル 検索し、正確に見つかると、そのファイルが使用されます。 複数のソリューション ファイルが見つかった場合、ユーザーはファイルを明示的に指定するように求められます。 何も見つからない場合、コマンドは失敗します。
オプション
-
-?|-h|--helpコマンドの使用方法の説明を出力します。
コマンド
次のコマンドを使用できます。
list
ソリューション ファイル内のすべてのプロジェクトを一覧表示します。
概要
dotnet sln list [-h|--help]
引数
SOLUTION_FILE使用するソリューション ファイル (.sln または .slnx ファイル) または ソリューション フィルター (.slnf ファイル)。
指定しない場合、コマンドは現在のディレクトリで .sln、 .slnx、または .slnf ファイルを検索し、見つかると、そのファイルが使用されます。 複数のソリューション ファイルまたはフィルターが見つかった場合、ユーザーはファイルを明示的に指定するように求められます。 何も見つからない場合、コマンドは失敗します。
( .slnf ファイルのサポートが .NET SDK 9.0.3xx で追加されました。)
オプション
-
-?|-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使用するソリューション ファイル (.sln または .slnx ファイル)。
指定しない場合、コマンドは現在のディレクトリで .sln を検索するか、.slnx ファイル 検索し、正確に見つかると、そのファイルが使用されます。 複数のソリューション ファイルが見つかった場合、ユーザーはファイルを明示的に指定するように求められます。 何も見つからない場合、コマンドは失敗します。
PROJECT_PATHソリューションに追加するプロジェクトへのパス。 unix/Linux シェル globbing パターン 展開は、
dotnet slnコマンドによって正しく処理されます。プロジェクト フォルダーを含むフォルダー
PROJECT_PATH含まれている場合は、パスのその部分を使用して、ソリューション フォルダー 作成します。 たとえば、次のコマンドを実行すると、ソリューション フォルダーmyappにfolder1/folder2を含むソリューションが作成されます。dotnet new sln dotnet new console --output folder1/folder2/myapp dotnet sln add folder1/folder2/myappこの既定の動作は、
--in-rootまたは-s|--solution-folder <PATH>オプションを使用してオーバーライドできます。
オプション
-
-?|-h|--helpコマンドの使用方法の説明を出力します。
--in-rootソリューション フォルダーを作成するのではなく、ソリューションのルートにプロジェクト配置します。
-s|--solution-folderでは使用できません。-s|--solution-folder <PATH>プロジェクト 追加先のソリューション フォルダー パスです。
--in-rootでは使用できません。
remove
ソリューション ファイルからプロジェクトまたは複数のプロジェクトを削除します。
概要
dotnet sln [<SOLUTION_FILE>] remove <PROJECT_PATH|PROJECT_NAME> [<PROJECT_PATH|PROJECT_NAME>...]
dotnet sln [<SOLUTION_FILE>] remove [-h|--help]
引数
SOLUTION_FILE使用するソリューション ファイル (.sln または .slnx ファイル)。
指定しない場合、コマンドは現在のディレクトリで .sln を検索するか、.slnx ファイル 検索し、正確に見つかると、そのファイルが使用されます。 複数のソリューション ファイルが見つかった場合、ユーザーはファイルを明示的に指定するように求められます。 何も見つからない場合、コマンドは失敗します。
PROJECT_PATHまたはPROJECT_NAMEソリューションから削除するプロジェクトのパス (または名前)。 unix/Linux シェル globbing パターン 展開は、
dotnet slnコマンドによって正しく処理されます。パスの代わりにプロジェクト名を指定すると、そのパスに関係なく、名前に一致するソリューション内のプロジェクトが削除されます。 ソリューションに一致するプロジェクトが複数見つかった場合、コマンドはエラーになります。名前にプロジェクト ファイル拡張子を省略します。 (.NET 10 では、名前によるプロジェクトの削除のサポートが追加されました)。
オプション
-
-?|-h|--helpコマンドの使用方法の説明を出力します。
migrate
.sln ファイルから .slnx ソリューション ファイルを生成します。
概要
dotnet sln [<SOLUTION_FILE>] migrate
dotnet sln [<SOLUTION_FILE>] migrate [-h|--help]
引数
SOLUTION_FILE移行する .sln ソリューション ファイル。
指定しない場合、コマンドは現在のディレクトリで .sln ファイルを検索し、正確に 1 つを見つけた場合は、そのファイルを使用します。 複数の .sln ファイルが見つかった場合、ユーザーはファイルを明示的に指定するように求められます。 何も見つからない場合、コマンドは失敗します。
.sln ファイルの代わりに .slnx ファイルを指定した場合、または同じファイル名 (.sln 拡張子を除く) を持つ .slnx ファイルが既にディレクトリに存在する場合、コマンドは失敗します。
オプション
-
-?|-h|--helpコマンドの使用方法の説明を出力します。
例
ソリューション内のプロジェクトを一覧表示します。
dotnet sln todo.slnx listソリューションに C# プロジェクトを追加します。
dotnet sln add todo-app/todo-app.csprojソリューションから C# プロジェクトを削除します。
dotnet sln remove todo-app/todo-app.csprojソリューションのルートに複数の C# プロジェクトを追加します。
dotnet sln todo.slnx add todo-app/todo-app.csproj back-end/back-end.csproj --in-rootソリューションに複数の C# プロジェクトを追加します。
dotnet sln todo.slnx add todo-app/todo-app.csproj back-end/back-end.csprojソリューションから複数の C# プロジェクトを削除します。
dotnet sln todo.slnx remove todo-app/todo-app.csproj back-end/back-end.csprojglobbing パターンを使用して複数の C# プロジェクトをソリューションに追加します (Unix/Linux のみ)。
dotnet sln todo.slnx add **/*.csprojglobbing パターンを使用して複数の C# プロジェクトをソリューションに追加します (Windows PowerShell のみ)。
dotnet sln todo.slnx add (ls -r **/*.csproj)globbing パターンを使用してソリューションから複数の C# プロジェクトを削除します (Unix/Linux のみ)。
dotnet sln todo.slnx remove **/*.csprojglobbing パターンを使用してソリューションから複数の C# プロジェクトを削除します (Windows PowerShell のみ)。
dotnet sln todo.slnx remove (ls -r **/*.csproj).sln ファイルから .slnx ファイルを生成します。
dotnet sln todo.sln migrateソリューション、コンソール アプリ、および 2 つのクラス ライブラリを作成します。 プロジェクトをソリューションに追加し、
--solution-folderのdotnet slnオプションを使用して、クラス ライブラリをソリューション フォルダーに整理します。dotnet new sln -n mysolution dotnet new console -o myapp dotnet new classlib -o mylib1 dotnet new classlib -o mylib2 dotnet sln mysolution.slnx add myapp\myapp.csproj dotnet sln mysolution.slnx add mylib1\mylib1.csproj --solution-folder mylibs dotnet sln mysolution.slnx add mylib2\mylib2.csproj --solution-folder mylibs次のスクリーンショットは、Visual Studio 2019 ソリューション エクスプローラーの結果を示しています。
ソリューション エクスプローラー
関連項目
- dotnet/sdk GitHub リポジトリ の (.NET CLI ソース)
.NET