1

这与我昨天提出的一个问题有关,但最好单独提出。

我有一个 TFS 2010 服务器运行一个 .csproj 文件的构建,以及一个安装了 msdeploy 的 IIS6 框。我想通过构建自动发布构建,但无论我向其参数发送什么,它都不会尝试运行发布。我可以放置 DeployTarget=TotalCarp 并且它仍然可以正常运行,但不会尝试发布。

以下是构建中相关的日志部分:

为项目运行 MSBuild

初始属性值
AdditionalVCOverrides =
CommandLineArguments = /p:SkipInvalidConfigurations=true /p:DeployOnBuild=True /p:DeployTarget= TotalCarp /p:MsDeployPublishMethod=RemoteAgent /p:DeployIisAppPath="WebRoot/ExternalContractSupportWeb" /p:MsDeployServiceUrl=whatever /p: AllowUntrustedCertificated=True /p:UserName=Username /p:Password=Password
Configuration = Test
GenerateVSPropsFile = True
LogFile =
LogFileDropLocation = \g10svhudtfs\TFSBuilds\ExternalContractSupport\TestBuild\TestBuild_20101101.25\logs
MaxProcesses = 1
OutDir = C:\Builds\1 \CustomerTerms\TestBuild\Binaries
Platform = 任何 CPU
Project = C:\Builds\1\CustomerTerms\TestBuild\Sources\ExternalContractSupportWeb\ExternalContractSupportWeb.csproj
ResponseFile =
RunCodeAnalysis = AsConfigured
Targets =
TargetsNotLogged = String[] Array
ToolPath =
ToolPlatform = Auto
Verbosity = Diagnostic

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe /nologo /noconsolelogger "C:\Builds\1\CustomerTerms\TestBuild\Sources\ExternalContractSupportWeb\ExternalContractSupportWeb.csproj" /m:1 /fl /flp :"logfile=C:\Builds\1\CustomerTerms\TestBuild\Sources\ExternalContractSupportWeb\ExternalContractSupportWeb.log;encoding=Unicode;verbosity=diagnostic" /p:SkipInvalidConfigurations=true /p:DeployOnBuild=True /p:DeployTarget=TotalCarp / p:MsDeployPublishMethod=RemoteAgent /p:DeployIisAppPath="WebRoot/ExternalContractSupportWeb" /p:MsDeployServiceUrl=whatever /p:AllowUntrustedCertificated=True /p:UserName=Username /p:Password=Password /p:OutDir="C:\Builds\ 1\CustomerTerms\TestBuild\Binaries\" /p:Configuration="Test" /p:Platform="Any CPU" /p:VCBuildOverride="C:\Builds\1\CustomerTerms\TestBuild\Sources\ExternalContractSupportWeb\ExternalContractSupportWeb.csproj.Any CPU.Test.vsprops" /dl:WorkflowCentralLogger,"D:\Program Files\Microsoft Team Foundation Server 2010\Tools\Microsoft.TeamFoundation.Build。 Server.Logger.dll";"Verbosity=Diagnostic;BuildUri=vstfs:///Build/Build/49;InformationNodeId=5798;TargetsNotLogged=GetNativeManifest,GetCopyToOutputDirectoryItems,GetTargetPath;TFSUrl=http://g10svhudtfs:8080/tfs/TFSCollection ;"*WorkflowForwardingLogger,"D:\Program Files\Microsoft Team Foundation Server 2010\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";"详细程度=诊断;"\Program Files\Microsoft Team Foundation Server 2010\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";"Verbosity=Diagnostic;BuildUri=vstfs:///Build/Build/49;InformationNodeId=5798;TargetsNotLogged=GetNativeManifest ,GetCopyToOutputDirectoryItems,GetTargetPath;TFSUrl=http://g10svhudtfs:8080/tfs/TFSCollection;"*WorkflowForwardingLogger,"D:\Program Files\Microsoft Team Foundation Server 2010\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll" ;"详细程度=诊断;"\Program Files\Microsoft Team Foundation Server 2010\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";"Verbosity=Diagnostic;BuildUri=vstfs:///Build/Build/49;InformationNodeId=5798;TargetsNotLogged=GetNativeManifest ,GetCopyToOutputDirectoryItems,GetTargetPath;TFSUrl=http://g10svhudtfs:8080/tfs/TFSCollection;"*WorkflowForwardingLogger,"D:\Program Files\Microsoft Team Foundation Server 2010\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll" ;"详细程度=诊断;"\Program Files\Microsoft Team Foundation Server 2010\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";"Verbosity=Diagnostic;"\Program Files\Microsoft Team Foundation Server 2010\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";"Verbosity=Diagnostic;"

我在网上找到的所有东西都至少有一个错误代码,但这看起来好像有效但显然没有尝试甚至尝试部署任何东西?

4

1 回答 1

5

我只是看了更多,如果 %Program Files32%\MSBuild\Microsoft\VisualStudio\v10.0\Web 上的文件不在机器上,这将是你得到的行为。这是因为 Web 应用程序项目导入了<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />由 Team Build 安装的文件,然后该文件包含<Import Project="..\Web\Microsoft.Web.Publishing.targets" Condition="Exists('..\Web\Microsoft.Web.Publishing.targets')" />包含 Web 发布管道 (WPP) 逻辑的导入。哪些是读取 DeployTarget、BuildOnDeploy 等的目标。导入是有条件的这一事实是您没有收到错误的原因。我要问开发人员为什么它是有条件的。

于 2010-11-01T16:12:02.270 回答