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
来定位构建配置。
我有一个 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
来定位构建配置。