如何在签入后触发msbuild脚本?

如何在签入后触发msbuild脚本?,msbuild,web-deployment,Msbuild,Web Deployment,我有一个msbuild脚本,可以从命令行运行(生成并部署到另一台服务器)。我正在使用vs.net 2012,并尝试使用生成定义触发类似的生成,方法是使用完全相同的msbuild参数。我无法使其正常工作。签入后是否有其他方法触发此脚本? 我在命令行中这样称呼它: C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe C:\dev\buildtestkut\mysol.sln /p:DeployOnBuild=true /p:Publ

我有一个msbuild脚本,可以从命令行运行(生成并部署到另一台服务器)。我正在使用vs.net 2012,并尝试使用生成定义触发类似的生成,方法是使用完全相同的msbuild参数。我无法使其正常工作。签入后是否有其他方法触发此脚本? 我在命令行中这样称呼它:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe 
C:\dev\buildtestkut\mysol.sln 
/p:DeployOnBuild=true
/p:PublishProfile=local.pubxml
/p:AllowUntrustedCertificate=true
/p:UserName=myuser
/p:Password=pw

如果您在TFS上并且有一个构建定义,那么您需要查看构建定义上的“触发器”选项卡

在VS2012中,在团队选项卡中,单击主页图标。单击生成,然后右键单击要编辑的生成定义,然后单击编辑生成定义。在“触发器”选项卡下,选择“连续集成”。这将导致在每次签入时触发生成

您还可以选择门控签入,这将导致在尝试签入时启动生成,但仅在生成成功时提交更改


您的MsBuild脚本是MsBuild项目文件还是VS.sln文件,还是通过“脚本”引用调用MsBuild.exe的powershell或批处理脚本?如果是这种情况,则可能需要列出脚本中的逻辑步骤,并将其“移植”到MsBuild文件,该文件可由MsBuild.exe从TFS生成代理启动。(在“生成定义”中,单击“过程”选项卡,在“需要生成的项目”下,可以指定一个或多个可以使用msbuild.exe生成的项目。)

如果使用TFS并具有生成定义,则需要查看生成定义上的“触发器”选项卡

在VS2012中,在“团队”选项卡中,单击主图标。单击“构建”,然后右键单击要编辑的构建定义,然后单击“编辑构建定义”。在“触发器”选项卡下,选择“连续集成”。这将导致每次签入时触发构建

您还可以选择门控签入,这将导致在尝试签入时启动生成,但仅在生成成功时提交更改


您的MsBuild脚本是MsBuild项目文件还是VS.sln文件,还是通过“脚本”引用调用MsBuild.exe的powershell或批处理脚本?如果是这种情况,您可能希望列出脚本中的逻辑步骤,并将其“端口”连接到可由MsBuild.exe从TFS生成代理启动的MsBuild文件。(在生成定义中,单击过程选项卡,在必需->要生成的项目->下,您可以指定一个或多个可以使用msbuild.exe生成的项目。)

@user603007添加解决方案后,转到“3.高级”添加解决方案后,请转到“流程”选项卡中的“3.Advanced”设置,并将msbuild参数添加到“msbuild arguments”@user603007,然后将msbuild参数添加到“msbuild arguments”