如何在Web部署的构建设置中指定特定项目

时间:2013-11-17 11:48:33

标签: visual-studio-2012 tfs msbuild web-deployment webdeploy

我在TFS 2013中创建了一个新版本,我想将其配置为执行Web部署。我不知道如何指定要部署的项目。理想情况下,我想在服务器上将2个Web项目Web部署到IIS(两个项目在IIS中都有相应的网站),但如果不可能,我可以使用2个独立的构建。我在构建定义中将以下设置添加到MSBuild Arguments(在流程的高级部分中):

/p:DeployOnBuild=True 
/p:DeployTarget=MsDeployPublish 
/p:Configuration=Release 
/p:CreatePackageOnPublish=True  
/p:DeployIisAppPath="<IISSIteName>" 
/p:MsDeployServiceUrl=https://<my server IP>/MsDeploy.axd 
/p:AllowUntrustedCertificate=True 
/p:username=Administrator 
/p:password=xxxxx

我可以看到它正在连接正常,但它不会发布任何内容。我还尝试在要构建的项目部分中指定我的Web项目,但这没有帮助。我错过了什么?必须是一些设置。

1 个答案:

答案 0 :(得分:1)

如果我已正确理解,您在解决方案中有2个Web项目,并且您希望创建构建定义以将它们部署为IIS服务器上的两个不同的Web站点。

可能有更好的方法来处理这个问题,但我在项目中所做的是为2个Web项目提供两个单独的构建定义。 对于每个构建定义,请在流程选项卡的“要构建的项目”部分下指定要构建的项目的csporj文件。

即使这样做,TFS也可能无法在所需位置发布网站。它可能显示成功,但文件不会复制到目标位置。 在这种情况下,请检查构建活动的日志消息。如果您发现类似于此的警告: C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets(484,9):警告:未为项目ProjectName.csproj'设置OutputPath属性。 请检查以确保您为此项目指定了Configuration和Platform的有效组合。 Configuration ='Release'Blatform ='Any CPU'

然后它可能与构建配置有关。如果您使用“任何CPU”作为构建配置,则将其更改为“AnyCPU”(删除空格)。

有关详细说明,请参阅以下链接:

http://social.msdn.microsoft.com/Forums/vstudio/en-US/0bb277ec-a08c-4795-88f0-3207654e2560/the-outputpath-property-is-not-set-for-project-xxxxxbtproj-please-check-to-make-sure-that-you?forum=tfsbuild

Amey