NMake - "Clean Command Line" 属性 干净 build/rebuild

NMake - "Clean Command Line" property on clean build/rebuild

我有一个 NMake 项目,在 "Clean Command Line" 中设置了命令 属性 删除项目 /Release 文件夹中的所有内容。

我正在使用 TFS 选项进行 clean 构建,它执行 /t:clean 作为 MSBuild 参数。

问题是当 TFS 第一次尝试删除 /Release 文件夹的内容时,没有这样的文件夹或文件,它出错并破坏了构建。

有什么我可以用来在不破坏构建的情况下传递此错误的方法,或者有什么方法可以检查文件夹是否存在以便传递或删除内容?

谢谢!

编辑:在项目的属性中有一个标签 <NMakeCleanCommandLine> 具有条件参数,但我不知道如何使用它?

在TFS端,可以在clean任务前加一个Powersell task,检查/Release文件夹是否存在,如果存在,则运行clean任务,如果存在不存在,跳过清理任务。

实际上,我已经设法通过使用 $(MSBuildProjectDirectory) 作为相对路径检查项目属性 Clean Command Line 参数是否存在 \Release 文件夹来解决此问题。

那么命令是:

IF EXIST "$(MSBuildProjectDirectory)\Release\" del "$(MSBuildProjectDirectory)\Release\*.*"

可以决定使用 $(Configuration) 而不是 \Release 来定位构建配置。