Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio NMake-“是的;“清除命令行”;清除生成/重新生成时的属性_Visual Studio_Tfs_Msbuild_Nmake - Fatal编程技术网

Visual studio NMake-“是的;“清除命令行”;清除生成/重新生成时的属性

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端

我有一个NMake项目,它在“Clean命令行”中设置了command属性 删除项目的
/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)\$(配置)\$(平台)”