共用方式為


dotnet clean(執行清理操作)

此文章適用於:✔️ .NET 6 SDK 與更新版本

名稱

dotnet clean - 清除專案的輸出。

概要

dotnet clean [<PROJECT>|<SOLUTION>|<FILE>] [--artifacts-path <ARTIFACTS_DIR>]
    [-c|--configuration <CONFIGURATION>]
    [-f|--framework <FRAMEWORK>] [--interactive]
    [--nologo] [-o|--output <OUTPUT_DIRECTORY>]
    [-r|--runtime <RUNTIME_IDENTIFIER>] [--tl:[auto|on|off]]
    [-v|--verbosity <LEVEL>]

dotnet clean -h|--help

Description

dotnet clean 命令會清除先前組建的輸出。 它會實作為 MSBuild 目標,因此會在執行命令時評估專案。 只會清除建置期間建立的輸出。 中間 (obj) 和最終輸出 (bin) 資料夾都會被清除。

Arguments

PROJECT | SOLUTION | FILE

要操作的專案或解決方案或 C# (檔案型應用程式) 檔案。 如果未指定檔案,MSBuild 會在目前目錄中搜尋專案或解決方案。

  • PROJECT 是 C#、F# 或 Visual Basic 專案檔的路徑和檔名,或是包含 C#、F# 或 Visual Basic 專案檔之目錄的路徑。

  • SOLUTION 是方案檔的路徑和檔名(.sln.slnx 擴展名),或包含方案檔之目錄的路徑。

  • FILE 是 .NET 10 中新增的引數。 檔案型應用程式的路徑和檔案名稱。 檔案型應用程式包含在建置和執行的單一檔案中,而沒有對應的專案 (.csproj) 檔案。 如需詳細資訊,請參閱 建置檔案型 C# 應用程式

選項

  • --artifacts-path <ARTIFACTS_DIR>

    執行命令的所有構建輸出文件都將放入指定路徑下的子文件夾中,並按項目分隔。 如需詳細資訊,請參閱 成品輸出配置。 從 .NET 8 SDK 開始提供。

  • -c|--configuration <CONFIGURATION>

    定義組建組態。 大部分專案的預設值為 Debug,但您可以置換專案中的建置組態設定。 只有在清理時才需要此選項,前提是在建置期間指定該選項時。

  • -f|--framework <FRAMEWORK>

    建置階段指定的 架構 。 架構必須在 專案檔中定義。 如果您在建置時指定架構,則必須在清除時指定架構。

  • -?|-h|--help

    輸出有關如何使用命令的說明。

  • --interactive

    允許命令停止並等待使用者輸入或動作。 例如,完成驗證。

  • --nologo

    不顯示啟動橫幅或版權訊息。

  • -o|--output <OUTPUT_DIRECTORY>

    包含要清除的建置成品的目錄。 如果您在建置專案時指定架構,請使用輸出目錄參數來指定 -f|--framework <FRAMEWORK> 參數。

    • .NET 7.0.200 SDK 和更新版本

      如果您在解決方案上執行此命令時指定選項 --output ,則 CLI 會發出警告 (7.0.200 中的錯誤) ,因為輸出路徑的語意不明確。 不允許此 --output 選項,因為所有建置專案的所有輸出都會複製到指定的目錄中,該目錄與多目標專案以及具有不同版本的直接和可轉移相依性專案不相容。 如需詳細資訊,請參閱 解決方案層級 --output 選項不再對組建相關命令無效

  • -r|--runtime <RUNTIME_IDENTIFIER>

    清除指定執行階段的輸出資料夾。 建立 獨立部署 時會使用此選項。

  • --tl:[auto|on|off]

    指定是否應該將 「終端機記錄器 」用於建置輸出。 預設值為 auto,在啟用終端機記載之前,會先驗證環境。 環境檢查會驗證終端機是否能夠使用新式輸出功能,且在啟用新的記錄器之前未使用重新導向的標準輸出。 on 略過環境檢查並啟用終端機記錄。 off 略過環境檢查並使用預設主控台記錄器。

    終端機記錄器會顯示還原階段,然後是建置階段。 在每個階段,當前的建設項目都會顯示在終端的底部。 每個建置的專案都會輸出目前正在建置的 MSBuild 目標,以及在該目標上花費的時間量。 您可以搜尋此資訊以進一步瞭解組建。 當專案完成建置時,會撰寫單一「建置完成」區段,以擷取:

    • 已建置專案的名稱。
    • 目標架構 (如果是多目標)。
    • 該組建的狀態。
    • 該組建的主要輸出 (超連結)。
    • 為該專案產生的任何診斷。

    從 .NET 8 開始,此選項可供使用。

  • -v|--verbosity <LEVEL>

    設定命令的詳細資訊層級。 允許的值為 q[uiet]m[inimal]n[ormal]d[etailed]diag[nostic]。 預設值為 normal。 如需詳細資訊,請參閱LoggerVerbosity

範例

  • 清除專案的預設組建:

    dotnet clean
    
  • 清理基於文件的程序:

    dotnet clean Program.cs.
    

    .NET SDK 10.0.100 中新增了檔案型應用程式支援。

  • 清除使用發行設定建置的專案:

    dotnet clean --configuration Release