我正在使用Tfs 2012来构建/部署我们的Asp.Net Web应用程序。我们有一个构建定义,可以构建5个解决方案(.sln文件)。这是我们的MSBuild参数看起来怎么样:如何参数化Tfs中的DeployIisAppPath Msbuild参数构建
/p:DeployOnBuild=True /p:AllowUntrustedCertificate=True /p:DeployIisAppPath="Test" /p:DeployTarget=MsDeployPublish /p:CreatePackageOnPublish=True /p:MSDeployPublishMethod=WMSVC /p:MSDeployServiceUrl="https://{server}:8172/msdeploy.axd" /p:UserName="{user}" /p:Password="{password}"
我需要部署的所有5个站点使用Web部署此构建定义。当然,它们共享除DeployIisAppPath之外的所有参数。它适用于1个解决方案,但对于多个解决方案,我需要为每个解决方案输入不同的DeployIisAppPath,以便每个解决方案都部署到IIS中的正确站点。
我检查了这些问题和其他文件,但没有运气尚未:
Running a build against multiple projects with different build arguments
Continuous deployment with multiple website projects in solution
How to pass TFS variable to a MSBuild task of the project
TFS2010 Build Definition to Deploy to multiple servers?
我试图传递的参数作为{siteName} .Web.csproj fo的属性每一个也都是属性。
任何帮助将不胜感激。
如果有人遇到这个,就像我做的那样,并且在VS2010中工作,而不是在2012年。 对于我来说,解决方案是停止覆盖msbuild参数并在web项目的“Package/Publish web”选项卡中简单配置它属性。在'网络部署包设置'下,有一个名为'IIS网站/应用程序名称在目标服务器上使用'的设置。我想知道2012年删除这些设置的理由是什么。 – TygerKrash