我们已经设置了一个TFS构建定义,其中我们传递以下额外的MSBuild参数:
/p:DeployOnBuild=true;DeployTarget=PipelinePreDeployCopyAllFilesToOneFolder;_PackageTempDir="\\server\build";AutoParameterizationWebConfigConnectionStrings=false
这已经在其他地方详细描述了,作为一种将发布文件复制到特定位置而不是生成部署包的方法。
然而,在我们的构建服务器上,这种方法不起作用。但是,如果我在我的开发机器上运行与TFS调用的完全相同的msbuild命令行,则它完美地工作并将输出文件复制到该位置。
我已经检查了日志文件,没有错误,它似乎完全跳过了发布/部署步骤。
Done building target "_BuiltWebOutputGroupOutput" in project "xyz.csproj".
Target "PrepareForRun" in file "c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets" from project "C:\Builds\2\xyz\xyz build\Sources\xyz.Web\xyz.Web.csproj" (target "CoreBuild" depends on it):
然而,在我的本地机器上,运行_BuiltWebOutputGroupOutput目标后,包目标会正确运行和部署文件。
我已经尝试使用不同的路径甚至在项目文件中设置属性,但似乎没有任何区别。我的本地解决方案和项目文件与TFS构建使用的存储库相同。是否有一些配置相关的问题,在我们的构建服务器或构建代理上,导致打包目标无法运行?