2011-05-18 43 views
3

我们有一个TFS生成定义设置,我们通过以下额外的MSBuild论点:TFS构建 - 部署/包的目标不运行

/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版本使用的存储库中的相同。在我们的构建服务器上还是与构建代理有关的配置会导致包装目标不能运行?

+0

您是否试过在生成机器本身上运行相同的MSBuild命令? MSBuild版本是否与您的开发者版和编译机相匹配? – 2011-05-18 20:02:12

+0

MSBuild版本在两台机器上都是一样的 - 4.0.30319.1。 .NET Framework版本是相同的。我已经在构建服务器上用相同结果的各种选项手动运行msbuild,将忽略PackageTempDir。 – Rowan 2011-05-20 14:13:08

+0

在构建机器上,MSBuild作为“网络服务”帐户运行,这可以起到重要作用。我还会验证TFS Build是否构建了与您在命令行上构建的配置和平台相同的配置和平台。最后,你是否从TFS构建中检查了MSBuild日志文件? – 2011-05-21 00:37:36

回答

2

我今天有类似的问题,发现一个修补程序,所以它可能值得一看。 Here

+0

重温这个为另一个项目和您链接解决问题的解决方案 - 我错过了具有必要目标的构建服务器上的C:\ Program Files文件(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web文件夹发布。 – Rowan 2011-11-11 16:54:48

相关问题