0

这是 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 

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

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

如何解决此特定情况?

4

2 回答 2

0

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

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

于 2014-01-21T12:20:48.530 回答
0

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

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

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

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

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

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

希望这可以帮助。

于 2013-03-27T04:45:00.883 回答