Team Foundation Server内部版本正在转换web.config两次,第二次转换错误



我在Process->Advanced->MSBuild Arguments部分设置了一个TFS构建定义,其中包含以下信息:(为了安全起见,本文省略了[]括号内的值)

/p:DeployOnBuild=True 
/p:MSDeployPublishMethod=RemoteAgent 
/p:MSDeployServiceUrl=[URL] 
/p:DeployIisAppPath=[IISPATH] 
/p:UserName=[USERNAME] 
/p:Password=[PASSWORD]
/p:CreatePackageOnPublish=True 
/p:DeployTarget=MSDeployPublish 
/p:Configuration=Development

这是我的问题。我在我的web项目中设置了许多配置,开发配置就是其中之一。如果我放弃"/p:Configuration=Development"并构建项目,然后将其自动部署到我们的开发环境中,则web.config转换是错误的。它正在用另一个配置中的信息替换我的连接字符串信息。

如果我将"/p:Configuration=Development"放回MSBuild arg列表中,并在生成过程中在VS2010中打开web.config文件,第一次在IDE外部更改web.config时,我可以看到已经根据Development配置进行了适当的web.config转换,但随后再次更改了web.config文件,然后又回到了不正确的配置。

我的想法是,当打开"/p:Configuration=Development"时,MSBuild是正确的,但无论从MSBuild调用什么过程(我假设是MSDeploy)来将站点实际部署到服务器,都会出错。

哦,我使用的是IIS6服务器,而不是IIS7,所以任何IIS7特定的功能都不会真正帮助我

这里有关于如何解决这个问题的想法吗?

编辑-修复因此,我和一些同事在这方面花了一些时间,并最终出于一个无关的原因重建了我们的环境。重建后,我们开始看到同样的事情发生。我们查看了IIS临时压缩文件(C:\inetpub\temp\IIS临时压缩文件)文件夹,注意到存储了许多旧信息。我们删除了该文件夹中的所有内容,并运行了iisreset,构建工作如预期。

--原始帖子我也有同样的问题。我已经查看了构建服务器上我能想到的每一个输出文件,它们都是正确的。然而,当调用msdeploy时,转换似乎发生了(基于修改的日期),但操作错误。我还尝试过获取deployment.zip并在web服务器上导入应用程序,这确实可以正确部署。有人知道如何拦截来自构建服务器的msdeploy调用,以查看该命令到底包含什么吗。我试过procmon,但运气不太好。

相关内容

  • 没有找到相关文章

最新更新