共用方式為


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 [方案總管]的結果:

    [方案總管],其中顯示群組至方案資料夾的類別庫專案。

另請參閱