MSDeploy没有';t使用MSBuild和Visual Studio 2010部署到远程服务器

MSDeploy没有';t使用MSBuild和Visual Studio 2010部署到远程服务器,msbuild,msdeploy,visual-studio-2010,Msbuild,Msdeploy,Visual Studio 2010,我目前正在运行VisualStudioTeamSystem2010RC,我正在尝试获取构建服务设置,以构建我的解决方案并在其中部署3个web应用程序。我已经创建了一个名为Integration的自定义生成配置,并且在每个Web应用程序的属性的Package/Publish选项卡上设置了“要在目标服务器上使用的IIS网站/应用程序名称” 在构建定义中,我设置了以下参数: /p:DeployOnBuild=True/p:DeployTarget=MSDeployPublish/p:MSDeployP

我目前正在运行VisualStudioTeamSystem2010RC,我正在尝试获取构建服务设置,以构建我的解决方案并在其中部署3个web应用程序。我已经创建了一个名为Integration的自定义生成配置,并且在每个Web应用程序的属性的Package/Publish选项卡上设置了“要在目标服务器上使用的IIS网站/应用程序名称”

在构建定义中,我设置了以下参数:

/p:DeployOnBuild=True/p:DeployTarget=MSDeployPublish/p:MSDeployPublishMethod=InProc/p:MsDeployServiceUrl=/p:EnablePackageProcessLogging和Assert=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参数列表,但这没有帮助
  • 有人知道我提供的参数是否正确吗?或者给我提供正确的


    谢谢

    考虑VS2010是RTM,你可以考虑升级,看看问题是否消失。 对于Team build正在运行的生成,您指定了什么文件?如果它是一个解决方案文件,那么仅仅将这些属性传递给它并不意味着它们在构建时会传播到每个项目文件。生成解决方案文件时,仅向正在生成的项目传递一组有限的属性。如果是这种情况,您应该创建一个.proj文件,它将基本上替换您的解决方案文件并传入这些属性

    我最近写了一篇博客

    如果这不适用于你或对你没有帮助,请告诉我


    仅供参考,您可能也对MSDeploy上的另一个线程感兴趣,但这与您在这里遇到的问题不同

    在多次更改参数后,我找到了一个解决方案,并成功部署了构建。我最终使用的参数是:

    /p:DeployOnBuild=True
    /p:DeployTarget=MSDeployPublish 
    /p:MSDeployPublishMethod=**RemoteAgent** 
    /p:MsDeployServiceUrl=http://my-server-name
    /p:username=myusername 
    /p:password=mypassword
    

    在对
    MSDeployPublishMethod
    MSBuild使用
    InProc
    时,MSBuild似乎会忽略MsDeployServiceUrl,并始终尝试部署到本地服务器。我将其更改为
    RemoteAgent
    ,并成功部署。我注意到包文件不包含在MyWebAppultIsPoalPoSE文件夹中,但这对我来说没什么大不了的。

    我想升级到VS 2010 RTM,但是我们正处于一个项目的中间,我们希望等到开发完成后进行升级。如果是RC中的错误,我们可能必须尽快升级,但我想先验证我使用的参数是否正确。我使用的是解决方案文件,但这似乎不是问题所在。只是将MSDeployPublishMethod更改为RemoteAgent就解决了这个问题。好的,很高兴听到您解决了这个问题。您有找到此信息的参考资料吗?这方面的文档非常稀少。请尝试使用/p:MSDeployPublishMethod=wmsvc RemoteAgent中的星号是什么?看起来只是为了指示他做了什么更改