【问题标题】:Visual Studio One-Click Deployment "succeeds", but no files publishVisual Studio 一键部署“成功”,但没有文件发布
【发布时间】:2013-03-22 15:19:57
【问题描述】:

这是 build/web.config 转换后的输出:

Copying all files to temporary location below for package/publish:
obj\Release\Package\PackageTmp.
Publishing folder /...
Site was published successfully path_goes_here
========== Build: 0 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
========== Publish: 1 succeeded, 0 failed, 0 skipped ==========

然而,当它加载根文件夹时,什么都没有。访问该站点会出现服务器错误

401 - unauthorized: access is denied due to invalid credentials 

我相信,考虑到该目录中没有任何内容,这是可以理解的。如果可能误导。

为解决此问题,我将部署服务器的版本复制并粘贴到生产服务器。我这样做没有访问权限问题,所以我认为它不会因为权限而阻止我进行部署。

如何解决这种特殊情况?

【问题讨论】:

  • 我有一个类似的问题 - 部署正常运行,但指定的文件夹是空的?有进展吗?
  • 无。虽然我无法触摸 IIS(嗯,一般是服务器)部分来查看它是否可能是权限问题。

标签: asp.net-mvc-4 visual-studio-2012 one-click-web-publishing


【解决方案1】:

我尝试了以下对其他人有用的方法,希望对你有用:

发布为发布版,然后返回并再次发布为调试版。

发布为网络部署包,然后返回并发布到文件系统。

重新安装 VS2012=0 一直有效,直到更新升级了我的“发布”对话框。

但没有一个对我有用,所以我想出的解决方法是发布为 web 部署包 - 它实际上包含文件系统文件夹中的文件 - 获取文件(从 PackageTmp 文件夹)并部署为之前。

我发现其中一个项目中缺少 DLL 引用,但我通过将未使用的它添加到启动项目中修复了这个问题,这导致它被识别和发布。

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    我用 /A:Basic 试过了,对我有用

    /答: 指定要使用的身份验证类型。可能的值为 NTLM 和 Basic。如果指定了 wmsvc 提供程序设置,则默认身份验证类型为 Basic;否则,默认身份验证类型为 NTLM。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-10
      • 2021-11-12
      • 1970-01-01
      • 2023-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多