本文适用于:✔️ .NET 6 SDK 及更高版本
Name
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>执行命令中的所有生成输出文件都将位于指定路径下的子文件夹中,由项目分隔。 有关详细信息,请参阅 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>清理指定运行时的输出文件夹。 创建 自包含部署 时会使用此配置。
--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