NMake - "清洁命令行"清洁构建/重建的属性

时间:2018-06-05 14:57:44

标签: visual-studio tfs msbuild nmake

我有一个NMake项目,其命令属性设置在"清洁命令行" 删除项目的/Release文件夹中的所有内容。

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

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

我是否可以使用某些内容来传递此错误而不会破坏构建或检查文件夹是否存在或者是否可以传递或删除内容?

谢谢!

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

2 个答案:

答案 0 :(得分:0)

在TFS方面,您可以在清理任务之前添加Powersell task,以检查/Release文件夹是否存在,是否存在,然后运行清除任务,如果它不存在,跳过干净的任务。

答案 1 :(得分:0)

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

然后命令是:

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

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