dotnet clean

この記事の対象: ✔️ .NET Core 3.1 SDK 以降のバージョン

名前

dotnet clean - プロジェクトの出力を消去します。

構文

dotnet clean [<PROJECT>|<SOLUTION>] [-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

説明

dotnet clean コマンドは、以前のビルドの出力を消去します。 MSBuild ターゲットとして実装されます。そのため、コマンドの実行時にプロジェクトが評価されます。 ビルド中に作成された出力のみが消去されます。 中間 (obj) と最終出力 (bin) フォルダーの両方が消去されます。

引数

PROJECT | SOLUTION

クリーンにする MSBuild プロジェクトまたはソリューション。 プロジェクトまたはソリューションのファイルを指定しない場合、MSBuild は、現在の作業ディレクトリから proj または sln のどちらかで終わるファイル拡張子を持つファイルを検索して、そのファイルを使います。

オプション

  • -c|--configuration <CONFIGURATION>

    ビルド構成を定義します。 ほとんどのプロジェクトの既定値は Debug ですが、プロジェクトでビルド構成設定をオーバーライドできます。 このオプションは、ビルド時に指定した場合にのみ、消去時にも必要です。

  • -f|--framework <FRAMEWORK>

    ビルド時に指定されたフレームワークです。 フレームワークは、[プロジェクト ファイル](../project-sdk/overview.md)で定義する必要があります。 ビルド時にフレームワークを指定した場合は、消去時にフレームワークを指定する必要があります。

  • -?|-h|--help

    コマンドの使用方法を示した説明を出力します。

  • --interactive

    コマンドを停止して、ユーザーの入力または操作のために待機させることができます。 たとえば、認証を完了する場合があります。 .NET Core 3.0 SDK 以降で使用できます。

  • --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 ターゲットとそのターゲットに費やされた時間の両方が出力されます。 ビルドの詳細は、この情報を検索して確認できます。 プロジェクトのビルドが完了すると、次がキャプチャされた 1 つの "ビルドが完了しました" セクションが書き込まれます。

    • ビルドされたプロジェクトの名前。
    • ターゲット フレームワーク (複数ターゲットの場合)。
    • そのビルドの状態。
    • そのビルドの主な出力 (ハイパーリンク付き)。
    • そのプロジェクトに対して生成された診断。

    このオプションは、.NET 8 以降で使用できます。

  • -v|--verbosity <LEVEL>

    コマンドの詳細レベルを設定します。 指定できる値は、q[uiet]m[inimal]n[ormal]d[etailed]、および diag[nostic] です。 既定値は、normal です。 詳細については、「LoggerVerbosity」を参照してください。

  • プロジェクトの既定のビルドを消去します。

    dotnet clean
    
  • リリース構成を使用してビルドされたプロジェクトを消去します。

    dotnet clean --configuration Release