我当前正在运行 Visual Studio Team System 2010 RC,并且正在尝试获取构建服务设置来构建我的解决方案并在其中部署 3 个 Web 应用程序。我创建了一个名为“集成”的自定义构建配置,并在每个 Web 应用程序的“属性”的“打包/发布”选项卡上设置了“要在目标服务器上使用的 IIS 网站/应用程序名称”。
在我的构建定义中,我设置了以下参数:
/p:DeployOnBuild=True /p:DeployTarget=MSDeployPublish /p:MSDeployPublishMethod=InProc /p:MsDeployServiceUrl=http://我的服务器名称:8172/msdeploy.axd 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:用户名=我的域\我的用户名
/password=mypassword 到 MSBuild 参数列表,但这没有帮助。
有谁知道我是否提供了正确的参数?或者给我提供正确的?
Thanks
经过多轮更改参数后,我找到了解决方案并成功部署了构建。我最终使用的参数是:
/p:DeployOnBuild=True
/p:DeployTarget=MSDeployPublish
/p:MSDeployPublishMethod=**RemoteAgent**
/p:MsDeployServiceUrl=http://my-server-name
/p:username=myusername
/p:password=mypassword
看来使用时InProc
为了MSDeployPublishMethod
MSBuild忽略MsDeployServiceUrl并始终尝试部署到本地服务器。我把它改为RemoteAgent
并且部署成功。我确实注意到包文件不再包含在MyWebApplication_Package文件夹,但这对我来说没什么大不了的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)