这与我昨天提出的问题有关,但可能最好单独询问。
我有一个运行.csproj文件版本的TFS 2010服务器,以及一个安装了msdeploy的IIS6框。我希望构建自动发布构建,但无论我发送到其参数中,它都不会尝试运行发布。我可以放置DeployTarget = TotalCarp,它仍可正常运行,但不会尝试发布。
来自相关构建的日志部分:
运行MSBuild for Project
初始属性值
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 =用户名/ p:密码=密码
配置=测试
GenerateVSPropsFile = True
LogFile =
LogFileDropLocation = \ g10svhudtfs \ TFSBuilds \ ExternalContractSupport \ TestBuild \ TestBuild_20101101.25 \ logs
MaxProcesses = 1
OutDir = C:\ Builds \ 1 \ CustomerTerms \ TestBuild \ Binaries
平台=任何CPU
Project = C:\ Builds \ 1 \ CustomerTerms \ TestBuild \ Sources \ ExternalContractSupportWeb \ ExternalContractSupportWeb.csproj
ResponseFile =
RunCodeAnalysis = AsConfigured
目标=
TargetsNotLogged = String []数组
ToolPath =
ToolPlatform =自动
详细程度=诊断
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.TeamFou ndation.Build.Server.Logger.dll “;” 冗长=诊断; BuildUri = vstfs:///构建/建立/ 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“;”Verbosity = Diagnostic;“
我在网上找到的所有内容至少都有一个错误代码,但这看起来好像有效,但显然没有试图尝试部署任何东西?
答案 0 :(得分:5)
我刚看了这个,如果%Program Files32%\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web上的文件不在机器上,这将是你得到的行为。这是因为Web应用程序项目导入由Team Build安装的文件<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
,然后该文件包含导入<Import Project="..\Web\Microsoft.Web.Publishing.targets" Condition="Exists('..\Web\Microsoft.Web.Publishing.targets')" />
,其中包含Web发布管道(WPP)的逻辑。哪些是读取DeployTarget,BuildOnDeploy等的目标。导入是有条件的这一事实是您没有收到错误的原因。我将问dev为什么它有条件。