msdeploy 错误 ERROR_USER_UNAUTHORIZED:Web 部署任务失败。使用IIS7、TFS2010、VS2012

问题描述 投票:0回答:6

使用 Visual Studio 2012、TFS 2010、IIS7

当我尝试构建/部署时出现以下错误:

Any CPU | Test
1 error(s), 1 warning(s)

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets      
(4253): Web deployment task failed. (Connected to the remote computer ("server1") using
the Web Management Service, but could not authorize. Make sure that you are using the 
correct user name and password, that the site you are connecting to exists, and that 
the credentials represent a user who has permissions to access the site. Learn more 
at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_USER_UNAUTHORIZED.)

*snip warning*

Other Errors and Warnings
2 error(s), 0 warning(s)
Building the projects in this solution one at a time. To enable parallel build, please 
add the "/m" switch.
TF270015: 'MSBuild.exe' returned an unexpected exit code. Expected '0'; actual '1'.
  • 我验证了该网站存在于 IIS 中
  • 我验证了我的用户名和密码正确(我能够登录到服务器)
  • 用户是 tfs 服务器上的管理员

我的 tfs 服务器上没有 VS2012,但有人将其 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio 11.0 文件夹复制到 tfs 服务器以修复另一个构建问题。我将同一文件夹复制到“server1”,没有更改错误消息。

它仍然创建构建,只是不部署。

visual-studio-2012 tfs msbuild msdeploy microsoft-web-deploy
6个回答
13
投票

我们通过以下步骤解决了该问题:

  • 在 IIS 管理器中突出显示该网站
  • 在功能视图中,打开 IIS 管理器权限
  • 验证您正在部署的用户是否已添加。如果没有,请单击“允许用户”并添加它。

希望这有帮助!


9
投票

我的密码和下一个构建参数之间没有空格,因此密码在技术上是错误的。

/p:UserName=scw /p:Password=12345/p:VisualStudioVersion=11.0
/p:UserName=scw /p:Password=12345 /p:VisualStudioVersion=11.0

3
投票

如果您指定了错误的站点名称,则可能会发生这种情况。您必须输入 IIS 连接中显示的名称,例如

Default Web Site


2
投票

我在一种环境中遇到了同样的问题,而在另一种环境中则没有。我的问题是我没有将计算机名称添加到用户名前面(即 p:UserName=testserver dmin 与 p:UserName=admin)。在我的工作环境中,两台服务器都通过 Active Directory 使用帐户,因此这不是问题。吸取教训!


0
投票

如果您最终进入此线程,并且在部署到 Azure 应用服务时遇到相同的错误消息,请确保在 Web 应用程序的配置中将 SCM 基本身份验证发布凭据 设置为打开:


-6
投票

我建议不要使用 Team Build 进行部署。我假设它正在为每个部署进行编译。这不是一个好主意,因为编译器不是 100% 的,所以构建之间的情况可能会发生变化。您最好使用部署工具进行二进制部署。我非常有效地使用 Visual Studio 2013 的发布管理来从 Dev->QA->Prod 部署相同的二进制文件...

您可以从使用 Visual Studio 2013 进行专业应用程序生命周期管理获取有关如何操作的信息。

© www.soinside.com 2019 - 2024. All rights reserved.