我目前正在运行Visual Studio Team System 2010 RC,我正在尝试使用Build Service设置来构建我的解决方案并在其中部署3个Web应用程序.我已经创建了一个名为Integration的自定义构建配置,并且我在每个Web应用程序的"属性"的"包/发布"选项卡上设置了"在目标服务器上使用的IIS网站/应用程序名称".
在我的构建定义中,我设置了以下参数:
/ p:DeployOnBuild = True/p:DeployTarget = MSDeployPublish/p:MSDeployPublishMethod = InProc/p:MsDeployServiceUrl = http:// my-server-name:8172/msdeploy.axd/p:EnablePackageProcessLoggingAndAssert = True
但是,当我运行构建时,我得到以下错误,对于所有三个Web应用程序:
更新setAcl(MyProjectName).
C:\ Program Files\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3481,5):错误:Web部署任务失败.(试图执行未经授权的操作.)
我不认为这是我的实际问题.在日志中的以下条目之后发生此错误:更新setAcl这是导致错误消息的原因,但似乎MSDeploy正在尝试部署到构建服务器上的本地IIS,而不是我使用MsDeployServiceUrl参数指定的服务器.
在C:\ Program Files\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets中查看目标文件后,我添加了EnablePackageProcessLoggingAndAssert,它添加了额外的日志记录.该日志显示MsDeployServiceUrl值的emptry字符串.我还注意到在目标中MsDeployServiceUrl有一个小写的s,这有点令人困惑,因为任务名称MSDeployPublish有一个大写的S.我尝试使用大写,然后再次使用小写,但都没有工作.
还有几点需要注意:
有谁知道我是否提供正确的参数?还是给我提供正确的?
谢谢