dotnet sln
本文適用於: ✔️ .NET Core 3.1 SDK 和更新版本
名字
dotnet sln
- 列出或修改 .NET 方案檔中的專案,或將檔案移轉至 .slnx 檔案。
概要
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
要使用的方案檔(.sln 或 .slnx 檔案)。
如果未指定,命令會搜尋目前目錄是否有 .sln 或 .slnx 檔案,如果找到該檔案,則會使用該檔案。 如果找到多個方案檔,系統會提示用戶明確指定檔案。 如果找不到任何專案,命令就會失敗。
選項
-?|-h|--help
列印如何使用 命令的描述。
命令
下列命令可供使用:
list
列出方案檔中的所有專案。
概要
dotnet sln list [-h|--help]
參數
SOLUTION_FILE
要使用的方案檔(.sln 或 .slnx 檔案)。
如果未指定,命令會搜尋目前目錄是否有 .sln 或 .slnx 檔案,如果找到該檔案,則會使用該檔案。 如果找到多個方案檔,系統會提示用戶明確指定檔案。 如果找不到任何專案,命令就會失敗。
選項
-?|-h|--help
列印如何使用 命令的描述。
add
將一或多個專案新增至方案檔。
概要
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_PATH>...]
dotnet sln [<SOLUTION_FILE>] remove [-h|--help]
參數
SOLUTION_FILE
要使用的方案檔(.sln 或 .slnx 檔案)。
如果未指定,命令會搜尋目前目錄是否有 .sln 或 .slnx 檔案,如果找到該檔案,則會使用該檔案。 如果找到多個方案檔,系統會提示用戶明確指定檔案。 如果找不到任何專案,命令就會失敗。
PROJECT_PATH
要從方案中移除的項目或項目路徑。 unix/Linux 殼層 globbing 模式 擴充是由
dotnet sln
命令正確處理。
選項
-?|-h|--help
列印如何使用 命令的描述。
migrate
從 .sln 檔案產生 .slnx 方案檔。
概要
dotnet sln [<SOLUTION_FILE>] migrate
dotnet sln [<SOLUTION_FILE>] migrate [-h|--help]
參數
SOLUTION_FILE
要移轉 .sln 方案檔。
如果未指定,命令會搜尋目前目錄是否有 .sln 檔案,如果找到該檔案,則會使用該檔案。 如果找到多個 .sln 檔案,系統會提示用戶明確指定檔案。 如果找不到任何專案,命令就會失敗。
如果您指定 .slnx 檔案,而不是 .sln 檔案,或如果 .slnx 檔案具有相同檔名(減去 .sln 擴展名),命令就會失敗。
選項
-?|-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.csproj
使用 Globbing 模式將多個 C# 專案新增至方案(僅限 Unix/Linux):
dotnet sln todo.slnx add **/*.csproj
使用通配符模式將多個 C# 專案新增至方案(僅限 Windows PowerShell):
dotnet sln todo.slnx add (ls -r **/*.csproj)
使用 Globbing 模式從方案中移除多個 C# 專案(僅限 Unix/Linux):
dotnet sln todo.slnx remove **/*.csproj
使用通配符模式從方案中移除多個 C# 專案(僅限 Windows PowerShell):
dotnet sln todo.slnx remove (ls -r **/*.csproj)
從 .sln 檔案產生 .slnx 檔案:
dotnet sln todo.sln migrate
建立解決方案、主控台應用程式和兩個類別庫。 將專案新增至方案,並使用
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.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 來源)