【问题标题】:Unable to publish website from Visual studio 2010无法从 Visual Studio 2010 发布网站
【发布时间】:2011-05-10 09:36:29
【问题描述】:

我们有一个 ASP NET MVC 网站解决方案,团队中只有三分之一的开发人员能够发布到实时服务器。当我和另一位同事尝试从 VS 2010 发布站点时,输出窗口将显示错误:

无法创建网站 '\废话'。路径 '\blah' 没有 存在或您无权访问。这 指定的路径无效。

这表明我的帐户存在登录问题,但可以发布该网站的开发人员与我是所有相同用户组的成员。作为远景,我们授予Everyone 对该文件夹的完全访问权限,但这并没有解决问题。

谁能提出更详细的方法来尝试找出我们无法发布该网站的原因?必须在某处设置允许我的同事从 Visual Studio 发布站点的权限。

干杯。 贾斯。

【问题讨论】:

    标签: visual-studio-2010 permissions publish


    【解决方案1】:

    我遇到了这个问题并绞尽脑汁试图解决它,这样我就不必手动将发布文件复制到远程服务器。我花了很多时间积极尝试让它发挥作用。

    这是我解决问题的方法:我在 Visual Studio 2010 Express 中转到 File>Open 并导航到远程服务器(\\255.255.255.255\folder1\folder2\folder3 等)。我马上就被要求输入用户名和密码。我输入了远程服务器的凭据,选中了“记住我的凭据”框。我立即尝试发布并瞧——它就像一个魅力。

    我希望这可以为很多人节省很多时间。

    【讨论】:

    • 谢谢!谢谢!谢谢!
    • 这仍然适用于 VS 2015。有点遗憾 VS 仍然需要这样的 hack...感谢您节省了我一天的大部分时间。
    • 这正是我想要的。很棒的提示!
    • 仍然适用于 VS2019...需要此步骤才能将 ClickOnce 应用推送到 VM 共享。
    • 这节省了我的时间!
    【解决方案2】:

    我遇到了这个问题 - 我们团队的某些成员能够直接从 VS2010 发布,而由于某种原因,我总是收到权限被拒绝错误,即使我们都能够连接到我们试图部署到的服务器.我通过以下方式修复它:

    转到“服务器资源管理器”。

    右键单击“服务器”并转到“添加服务器...”

    输入您尝试连接的服务器的名称,然后单击“使用不同的用户名连接...” - 将用于登录服务器的凭据放在此处。

    点击确定,等待它添加服务器。

    现在尝试发布到该服务器,应该没问题...

    不知道为什么我需要这样做,而其他人能够在不以这种方式添加服务器的情况下进行部署......仍然无法解释。

    根据下面的cmets:

    • 您可能需要重新启动 Visual Studio 才能使其生效。
    • 这也适用于较新版本的 Visual Studio

    【讨论】:

    • 这似乎是最好的,最官方的解决方案,对我有用。谢谢!
    • 如果您在为 VS 2013 (2013.4) 安装更新 4 后使用非默认凭据将网站发布到文件系统时遇到问题,这也有效
    • 我知道你在这里的回答是几年前的,但它今天对我很有帮助,谢谢!
    • 我花了我朋友的时间。我知道这个网站不喜欢谢谢你,但是谢谢。
    • 在 Visual Studio 2015 中遇到了同样的问题。这对其进行了排序。
    【解决方案3】:

    今天遇到了同样的问题。在我的情况下,我不得不关闭 VS2010 并以管理员身份打开它,它可以正常工作。

    【讨论】:

    • 啊,好的。为此干杯。如果我再次遇到这种情况,那么我会尝试你的建议。很久没从 VS2010 发布了,但你永远不知道什么时候会再次出现。
    • @JasonEvans 这个解决方案在 VS2015 之前一直有效。我刚刚在 2015 年用这个答案解决了同样的问题。
    • 这个解决方案也对我有用,我不得不破解 VS 以在 Windows 10 中始终以管理员身份打开,因为我遇到了问题而不是。我不经常发布,所以我会保持原样,但每次发布时重新发现这个问题会很烦人(取决于那天我的记忆力有多好......)。
    • 如果我能多次投票就好了。我不知道这会是问题所在。提升的实例如何无法访问我的帐户有权访问的文件夹?
    【解决方案4】:

    您是否使用网络部署(右键单击并选择发布)?

    您是否尝试将ProjectName.Publish.xml 文件从您可以发布到其他两台机器的一台机器上复制?用于发布的登录凭据保存在此文件中。

    【讨论】:

    • 是的,我们正在使用右键菜单中的Publish 选项。我会查看你提到的 XML 文件。
    【解决方案5】:

    这让我很长时间...转到项目 - 属性并选择打包/发布 Web 选项卡。在标题“Web 部署包设置”下,有一个省略号按钮,您可以使用它来映射到要发布的位置。在此过程中,系统会要求您提供凭据。

    【讨论】:

      【解决方案6】:

      在 IIS 中,您可以查看所有用户/组是否都列在 IIS 管理器的管理服务委派下?它列在 IIS 中的服务器节点下。或者,您可以通过单击侧面菜单中的编辑功能并选中允许管理员绕过规则来授予所有管理员访问权限。

      您还可以在 IIS 管理器权限下检查各个站点,看看可以发布的人是否列在下面,而您没有。

      我最近刚刚在我的服务器上设置了 MSDeploy 访问权限,发现以下两个教程很有帮助:

      http://william.jerla.me/post/2010/03/20/Configuring-MSDeploy-in-IIS-7.aspx

      http://code-inside.de/blog-in/2011/04/03/howto-setup-of-webdeploy-msdeploy/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-15
        • 2010-12-03
        相关资源
        最近更新 更多