Visual studio NMake-“是的;“清除命令行”;清除生成/重新生成时的属性
我有一个NMake项目,它在“Clean命令行”中设置了command属性 删除项目的Visual studio NMake-“是的;“清除命令行”;清除生成/重新生成时的属性,visual-studio,tfs,msbuild,nmake,Visual Studio,Tfs,Msbuild,Nmake,我有一个NMake项目,它在“Clean命令行”中设置了command属性 删除项目的/Release文件夹中的所有内容 我正在为clean构建使用TFS选项,它将/t:clean作为MSBuild参数执行 问题是,当TFS首次尝试删除/Release文件夹的内容时,没有这样的文件夹或文件,它会出错并中断生成 我是否可以使用某种方法在不破坏构建的情况下传递此错误,或者检查文件夹是否存在,以便传递或删除内容 谢谢大家! 编辑:在项目的属性上有一个带有条件参数的标记,但我不知道如何使用它?在TFS端
/Release
文件夹中的所有内容
我正在为clean构建使用TFS选项,它将/t:clean
作为MSBuild参数执行
问题是,当TFS首次尝试删除/Release
文件夹的内容时,没有这样的文件夹或文件,它会出错并中断生成
我是否可以使用某种方法在不破坏构建的情况下传递此错误,或者检查文件夹是否存在,以便传递或删除内容
谢谢大家!
编辑:在项目的属性上有一个带有条件参数的标记,但我不知道如何使用它?在TFS端,您可以在清理任务之前添加一个,以检查
/Release
文件夹是否存在,如果存在,则运行清理任务,如果不存在,跳过清理任务。我实际上已通过从项目属性clean命令行
参数检查\Release
文件夹是否存在,并使用$(MSBuildProjectDirectory)
作为相对路径来解决此问题
然后,命令是:
如果存在“$(MSBuildProjectDirectory)\Release\”del“$(MSBuildProjectDirectory)\Release\*.*”
您可以决定使用
$(配置)
而不是\Release
,以确定构建配置的目标。谢谢您回复我!实际上,我已通过使用$(MSBuildProjectDirectory)
作为相对路径,从发布文件夹的project properties Clean命令行中进行检查来解决此问题。。命令是:如果存在“$(MSBuildProjectDirectory)\Release\”del“$(MSBuildProjectDirectory)\Release\*.*”
可以决定使用$(配置)\$(平台)“
为了涵盖不同的项目生成配置选项clean build是TFS提供的一个选项,但我认为它与生成后清理有关,另一方面MSBuild步骤有参数/t:clean/t:rebuild,因此我上面提出的解决方案似乎更合适,再次感谢!准确地说,使用:如果存在“$(MSBuildProjectDirectory)\$(配置)\$(平台)”del“$(MSBuildProjectDirectory)\$(配置)\$(平台)”