我有一个从命令行工作的msbuild脚本(构建并部署到另一台服务器)。我正在使用 vs.net 2012 并尝试使用构建定义通过使用完全相同的 msbuild 参数来触发类似的构建,我无法让它工作。签入后是否有其他方法触发此脚本?这是我在命令行中调用它的方式:
C:WindowsMicrosoft.NETFrameworkv4.0.30319msbuild.exe
C:devbuildtestkutmysol.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 生成的项目。