dotnet clean
本文适用于: ✔️ .NET Core 3.1 SDK 及更高版本
dotnet clean
- 清除项目输出。
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
dotnet clean
命令可清除上一个生成的输出。 它以 MSBuild 目标 的形式实现,以便在运行命令时对项目进行评估。 只会清除在生成过程中创建的输出。 中间 (obj) 和最终输出 (bin) 文件夹都会被清除。
PROJECT | SOLUTION
要清理的 MSBuild 项目或解决方案。 如果未指定项目或解决方案文件,MSBuild 会在当前工作目录中搜索文件扩展名以 proj 或 sln 结尾的文件并使用该文件。
--artifacts-path <ARTIFACTS_DIR>
执行命令中的所有生成输出文件都将位于指定路径下的子文件夹中,由项目分隔。 有关详细信息,请参阅 Artifacts 输出布局。 自 .NET 8 SDK 起可用。
-c|--configuration <CONFIGURATION>
定义生成配置。 大多数项目的默认配置为
Debug
,但你可以覆盖项目中的生成配置设置。 只有在生成期间指定了此选项,才必须在清除时使用此选项。
-?|-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>
清除指定运行时的输出文件夹。 在创建独立部署 (SCD) 时使用此选项。
--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。
清除项目的默认生成:
.NET CLIdotnet clean
清除使用版本配置生成的项目:
.NET CLIdotnet clean --configuration Release