【问题标题】:web deploy 401 from package, works in VS2010web deploy 401 from package,适用于VS2010
【发布时间】:2011-12-16 01:07:13
【问题描述】:

我正在尝试从 CI 服务器 (TFS 2010) 进行自动部署 基本上我已经构建了一个包,如果过去的所有测试我都想部署它。

在 TFS 之外,仅使用 Visual Studio 命令行,我导航到包的文件夹位置并使用以下内容:

 C:\site\Package>site.deploy.cmd /Y 
 /M:"https://WebServer:8172/MsDeploy.axd" -allowUntrusted /U:username 
 /P:password /A:Basic

在这种情况下,用户是对目标网站文件夹具有完全权限的域用户。当我运行它时,我得到一个 401 未经授权的错误。我已经创建了一个 IIS 管理器并在目标文件上设置了网络服务帐户的权限,但这也给出了同样的错误。

令人沮丧的一点是,从 VS 2010 鼠标右键单击发布页面,它可以与任一用户完美配合。有没有人有任何想法。我一直在堆栈溢出,我确定文件夹权限是正确的并且 IIS 配置正确。 VS 2010 可以使用相同的凭据发布这一事实为我提供了支持。 我确实看到您可以在指定服务器时传递 ?site=SiteName 但我只是收到有关不期望该参数的错误。

查看 site.deploy.cmd 和 site.SetParameters.xml 看起来它确实看起来像是用于 Web Deploy 2,并且配置设置已从配置转换中正确获取。

谢谢

【问题讨论】:

    标签: asp.net webdeploy


    【解决方案1】:

    如果是非管理员用户,则需要在远程 URL 中包含 IIS 站点。

    C:\site\Package>site.deploy.cmd /Y /M:"https://WebServer:8172/MsDeploy.axd?site=Website Name" -allowUntrusted /U:username /P:password /A:Basic
    

    生成的 cmd 文件可能会为您执行此操作,但前提是您提供了某个参数。

    【讨论】:

      【解决方案2】:

      http://www.jrjlee.com/2011/12/deploying-web-packages-as-non.html

      这可能有效。将带有查询字符串的站点名称附加到您的网址

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-08
        • 2011-10-03
        • 2017-10-14
        • 2014-11-11
        • 2012-07-25
        • 2013-11-23
        相关资源
        最近更新 更多