分享方式:


dotnet sln

本文適用於: ✔️ .NET Core 3.1 SDK 與更新版本

名稱

dotnet sln - 列出或修改 .NET 解決方案檔案中的專案。

概要

dotnet sln [<SOLUTION_FILE>] [command]

dotnet sln [command] -h|--help

描述

dotnet sln 命令提供方便的方式,來列出和修改方案檔中的專案。

建立方案檔

若要使用 dotnet sln 命令,方案檔必須已經存在。 如果您需要建立一個,則請搭配使用 dotnet new 命令與 sln 範本名稱。

下列範例會在目前資料夾中建立 .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

將一或多個專案新增至方案檔。

概要

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

引數

  • SOLUTION_FILE

    要使用的方案檔。 如果未指定,則命令會在目前目錄中進行搜尋,而且如果有多個方案檔,則會失敗。

  • PROJECT_PATH

    一或多個要新增至方案之專案的路徑。 dotnet sln 命令會正確處理 Unix/Linux 殼層 Glob 模式擴充。

    如果 PROJECT_PATH 包括含有專案資料夾的資料夾,則會使用路徑的該部分來建立方案資料夾。 例如,下列命令會在方案資料夾 folder1/folder2 中使用 myapp 來建立方案:

    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

    要使用的方案檔。 如果未指定,則命令會在目前目錄中進行搜尋,而且如果有多個方案檔,則會失敗。

  • PROJECT_PATH

    一或多個要從方案中移除之專案的路徑。 dotnet sln 命令會正確處理 Unix/Linux 殼層 Glob 模式擴充。

選項。

  • -?|-h|--help

    列印如何使用命令的描述。

範例

  • 列出方案中的專案:

    dotnet sln todo.sln list
    
  • 將 C# 專案新增至方案:

    dotnet sln add todo-app/todo-app.csproj
    
  • 移除方案中的 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)
    
  • 建立方案、主控台應用程式,以及兩個類別庫。 將專案新增至方案,並使用 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 [方案總管] 的結果:

    Solution Explorer showing class library projects grouped into a solution folder.

另請參閱