我目前正在运行 Visual Studio Team System 2010 RC,我正在尝试获取构建服务设置来构建我的解决方案并在其中部署 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 的值的空字符串。我还在目标中注意到 MsDeployServiceUrl 有一个小写字母 s,这有点令人困惑,因为任务名称 MSDeployPublish 有一个大写字母 S。我尝试使用大写字母,然后再次使用小写字母,但都不起作用。
其他需要注意的事项:
- 我的构建服务作为网络服务运行。
- 我尝试部署到的服务器位于另一个域上。
- 我还尝试将 /p:username=mydomain\myusername /p:password=mypassword 添加到 MSBuild 参数列表,但这没有帮助。
有谁知道我是否提供了正确的参数?或者给我正确的?
谢谢