Visual studio TFS 2010生成自动化和生成后事件

Visual studio TFS 2010生成自动化和生成后事件,visual-studio,tfsbuild,post-build-event,Visual Studio,Tfsbuild,Post Build Event,在我继承的项目中,最初的开发人员在他的VisualStudio项目中使用了大量构建后事件,以便在VS内部构建时复制DLL和其他内容 现在我正试图将这些东西移到TFS2010构建系统中,这引起了一些悲伤 我希望能够创建一个新的“连续”项目配置,并在该配置中从VisualStudio中排除那些生成后事件-但这些调用似乎无法根据您的项目配置进行配置 有什么想法吗?有什么我可以检查知道我在TFS构建下运行,然后跳过那些CMD文件吗?任何想法都欢迎 如果您在团队构建服务器上设置了一个环境变量,然后您可以在

在我继承的项目中,最初的开发人员在他的VisualStudio项目中使用了大量构建后事件,以便在VS内部构建时复制DLL和其他内容

现在我正试图将这些东西移到TFS2010构建系统中,这引起了一些悲伤

我希望能够创建一个新的“连续”项目配置,并在该配置中从VisualStudio中排除那些生成后事件-但这些调用似乎无法根据您的项目配置进行配置


有什么想法吗?有什么我可以检查知道我在TFS构建下运行,然后跳过那些CMD文件吗?任何想法都欢迎

如果您在团队构建服务器上设置了一个环境变量,然后您可以在构建后的步骤中写入一个检查来检查该环境变量,该怎么办。如果设置了环境变量,您将知道跳过执行生成后步骤的命令文件,因为您将知道您正在TFS build下运行

您可以尽可能将所有构建后步骤组合到一个脚本中,然后在该脚本的开头检查环境变量

或者,您也可以使用相反的方法将检查构建到TFS构建脚本中。您可以参考如何检查TFS生成中的环境变量

因此,在您的TFS构建脚本中,您将有如下内容:

<RunScripts Condition=" '$(RunScriptsServerVar)' != '' ">
            the environment var is NOT set, so run your scripts since we aren't in
            a TFS build
</RunScripts>

未设置环境变量,因此请运行脚本,因为我们不在
TFS构建

我使用类似的方法来实现这一点。我将以下内容添加到每个项目的后期构建步骤中:

if '$(TeamBuild)'=='True' exit 0
然后,在配置构建定义时,我只需添加:

/p:TeamBuild=True
…将其添加到MSBuild参数


这使我能够灵活地保留项目和构建定义中的所有配置。

我的方法是用它来保护构建前或构建后的代码

如果“$(BuildingSideVisualStudio)”==“true”(
…你的代码在这里…


该变量由Visual Studio自动定义,您无需更改生成定义。

如果有人在这里查找If…ELSE语法,请检查