Provided by: dotnet-host-9.0_9.0.7-0ubuntu1_amd64 bug

dotnet clean

       This article applies to: ✔️ .NET Core 3.1 SDK and later versions

NAME

       dotnet-clean - Cleans the output of a project.

SYNOPSIS

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

       The dotnet clean command cleans the output of the previous build.  It’s implemented as an MSBuild target,
       so  the  project  is  evaluated  when  the command is run.  Only the outputs created during the build are
       cleaned.  Both intermediate (obj) and final output (bin) folders are cleaned.

ARGUMENTS

       PROJECT | SOLUTION

       The MSBuild project or solution to clean.  If a project  or  solution  file  is  not  specified,  MSBuild
       searches the current working directory for a file that has a file extension that ends in proj or sln, and
       uses that file.

OPTIONS

--artifacts-path <ARTIFACTS_DIR>

         All  build output files from the executed command will go in subfolders under the specified path, sepa‐
         rated by project.  For more information see Artifacts Output Layout.  Available since .NET 8 SDK.

       • -c|--configuration <CONFIGURATION>

         Defines the build configuration.  The default for most projects is Debug,  but  you  can  override  the
         build configuration settings in your project.  This option is only required when cleaning if you speci‐
         fied it during build time.

       • -f|--framework <FRAMEWORK>

         The framework that was specified at build time.  The framework must be defined in the project file.  If
         you specified the framework at build time, you must specify the framework when cleaning.

       • -?|-h|--help

         Prints out a description of how to use the command.

       • --interactive

         Allows the command to stop and wait for user input or action.  For example, to complete authentication.
         Available since .NET Core 3.0 SDK.

       • --nologo

         Doesn’t display the startup banner or the copyright message.

       • -o|--output <OUTPUT_DIRECTORY>

         The  directory  that  contains  the  build  artifacts to clean.  Specify the -f|--framework <FRAMEWORK>
         switch with the output directory switch if you specified the framework when the project was built.

         • .NET 7.0.200 SDK and later

           If you specify the --output option when running this command on a solution, the CLI will emit a warn‐
           ing (an error in 7.0.200) due to the unclear semantics of the output path.  The  --output  option  is
           disallowed  because  all  outputs of all built projects would be copied into the specified directory,
           which isn’t compatible with multi-targeted projects, as well as projects that have different versions
           of direct and transitive dependencies.  For more information, see Solution-level --output  option  no
           longer valid for build-related commands.

       • -r|--runtime <RUNTIME_IDENTIFIER>

         Cleans  the  output folder of the specified runtime.  This is used when a self-contained deployment was
         created.

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

         Specifies whether the terminal logger should be used for the build output.  The default is auto,  which
         first  verifies  the environment before enabling terminal logging.  The environment check verifies that
         the terminal is capable of using modern output features and isn’t using a  redirected  standard  output
         before  enabling  the  new  logger.   on skips the environment check and enables terminal logging.  off
         skips the environment check and uses the default console logger.

         The terminal logger shows you the restore phase followed by the build phase.  During  each  phase,  the
         currently building projects appear at the bottom of the terminal.  Each project that’s building outputs
         both  the  MSBuild  target  currently being built and the amount of time spent on that target.  You can
         search this information to learn more about the build.  When a project is finished building,  a  single
         “build completed” section is written that captures:

         • The name of the built project.

         • The target framework (if multi-targeted).

         • The status of that build.

         • The primary output of that build (which is hyperlinked).

         • Any diagnostics generated for that project.

         This option is available starting in .NET 8.

       • -v|--verbosity <LEVEL>

         Sets  the verbosity level of the command.  Allowed values are q[uiet], m[inimal], n[ormal], d[etailed],
         and diag[nostic].  The default is  normal.   For  more  information,  see  <xref:Microsoft.Build.Frame‐
         work.LoggerVerbosity>.

EXAMPLES

       • Clean a default build of the project:

                dotnet clean

       • Clean a project built using the Release configuration:

                dotnet clean --configuration Release

                                                   2024-10-02                                    dotnet-clean(1)