64

我想在本地机器上从 IIS 运行我的应用程序。我创建了虚拟目录并将应用程序添加到其中,并在应用程序的属性文件夹中选中了单选按钮“使用本地 IIS 网络服务器”。然后我开始运行我的应用程序,但出现以下错误:

无法在 webserver 上开始调试。请参阅帮助了解常见的配置错误。在调试器之外运行网页可能会提供更多信息。

确保服务器正常运行。通过执行调试验证 web.config 中没有语法错误。启动时不进行调试。您可能还需要参考在线文档中的 ASP.NET 和 ATL Server 调试主题。

我该如何摆脱这个错误?

我在 Windows 7 和 IIS 7.5 上使用 Visual Studio 2010。

4

42 回答 42

42

出现上述问题的原因可能有很多。

您需要检查以下内容:-无法在 Web 服务器上开始调试

附带说明:-转到 IIS 并检查您正在使用的应用程序池是否已启动。

从你的命令行试试这个: -

cd %windir%\Microsoft.NET\Framework\v4.0.30319
aspnet_regiis.exe -i
于 2013-09-08T06:13:17.217 回答
35

这个问题有多种解决方案,在我的情况下,我更改了机器的密码,但忘记在该应用程序池的高级设置的进程模型标识中更改它。

后来IISRESET为我做了诀窍。

于 2015-10-08T06:24:25.033 回答
21

只是在我遇到此问题时进行了更新,Visual Studio 和 IIS 中的所有设置似乎都是正确的。

实际上对我有用的只是以管理员身份运行 Visual Studio - 我猜需要在某处设置权限,但我不知道是什么或在哪里。

还有一点需要注意的是,我将我所有的网站都配置为使用 IIS 中的 DefaultAppPool,当时它是 ASP.NET V2,然后安装了 .NET 4,并且 DefaultAppPool 被转换为 .NET4,因此没有一个网站可以编译(即导致我少量的脏话)

希望对某人有所帮助

于 2014-09-30T08:17:17.337 回答
20

我已经看到了很多不同的解决方案。iisreset 为我解决了问题。

只需打开提升的命令提示符并键入:

iisreset

于 2015-09-29T15:54:10.327 回答
14

补充一下,我遇到了这个问题,并通过禁用该Load User Profile选项(不确定任何副作用)来解决。这是通过Advanced Settings.Application Pool

在此处输入图像描述

这使它对我有用。

于 2016-02-05T10:41:26.110 回答
13

我没有在此线程或此处的(可能重复的)问题上看到此答案

我通过以下方式解决了这个问题:

  • 打开任务管理器(ctrl+alt+del)
  • Processes选项卡下,结束IIS Worker Process任务(这现在可能被列为 Microsoft.IIS.Worker.Process 或类似的东西)(如果您没有看到所有过程)
  • 然后转到“服务”选项卡,停止IISADMIN服务并重新启动它。

运行程序,希望能修复它!快乐的编码和调试!:)

于 2016-07-06T14:11:10.847 回答
12

就我而言,这是缺少debug="true"web.config (system.web -> 编译)。

例子:

<system.web>
   <compilation debug="true" targetFramework="4.5.2" />
   ....
</system.web>
于 2017-04-14T12:59:47.077 回答
5

VS 崩溃后也遇到了同样的问题,Rahul 关于应用程序池的评论为我指明了正确的方向。在我的情况下,回收应用程序池起到了作用(IIS 管理器 => 应用程序池 => 右键单击​​有问题的 ap 并回收)。

于 2015-03-13T09:34:53.270 回答
5

在我的本地 IIS 上配置的 10 个站点中只有一个出现了这个错误,所以我觉得它与机器范围内的其他答案无关,比如打开或关闭 Windows 功能,或者运行 VS2015管理员(其他 9 个站点工作正常,在同一个 VS 中)。

我的具体错误是:

无法在网络服务器上开始调试。不支持操作。未知错误:0x80004005

问题原来是 Web 配置具有 URL 重写规则来重写 HTTP -> HTTPS。注释掉这个问题解决了

TL;DR - 尝试禁用所有 web.config URL 重写规则,如果有的话(然后逐渐添加它们,如果有帮助的话)

于 2017-11-16T16:44:47.850 回答
5

我正在使用 Visual Studio 2017 运行 Windows 10 专业版,以上选项均不适合我。

为我解决的问题是添加'Windows Process Activation Service'

开始 > 键入打开或关闭 Windows 功能 > 确保选中“Windows 进程激活服务” 。

希望它可以帮助某人。

截屏

于 2017-07-31T19:08:38.213 回答
4

网上最好的答案在这里。我尝试了第五种方法。

  1. 在 VS2005 或 VS2008 或 VS2010 中右键单击您的项目
  2. 点击属性
  3. 单击网络选项卡
  4. 在服务器下,单击单选按钮使用 Visual Studio 开发服务器
  5. 检查自动分配端口单选按钮
  6. 取消选中 NTLM 身份验证并启用编辑并继续

现在运行您的应用程序,它将为您工作。

于 2016-03-08T14:34:10.717 回答
4

就我而言,DefaultAppPool已停止,我编辑了Advanced Settings并将Identity的值设置为LocalSystem,然后启动 DefaultAppPool。

于 2017-03-08T21:30:34.540 回答
3

在“开发人员命令提示符(您的 Visual Studio 版本)”中重置您的 iis

在该命令提示符下键入 iisreset 并按回车键。它会自动重置iis

于 2015-07-17T10:44:52.443 回答
3

转到搜索 > 键入 services.msc 并确保 ASP.Net 状态服务正在运行。

于 2017-07-03T11:53:20.473 回答
3

检查物理路径。

就我而言,我错误地更改了它。

在 IIS 中,单击您的网站,然后转到基本设置...

检查路径,并检查凭据。如果需要,输入新凭据。

在此处输入图像描述

要更改路径,您可以转到 Visual Studio,项目 - 属性,然后重新创建虚拟目录:

在此处输入图像描述

如果要求重新映射,请单击是。

于 2019-06-11T19:39:53.967 回答
2

我解决了这个问题。就我而言,我的应用程序池已停止。经过一点谷歌搜索后,我发现应用程序池在某些用户身份下运行,并且该用户的密码已更改。更新密码后,它开始正常工作。

于 2016-05-10T09:39:48.787 回答
2

如果您在 localhost 上使用 HTTPS,那么您很可能创建了一个自签名证书。这些证书往往在创建的同一天到期,因此您可能必须重新创建证书并将其添加到本地托管站点的绑定中。

于 2016-07-08T09:30:18.383 回答
2

对于在 VS Professional 2019 上遇到相同问题的人。我安装了 Xamarin 捆绑包,然后此 IIS 错误开始。我已经尝试了上述所有解决方案,但没有任何运气。我所做的修复它是:

  • 从 Visual Studio 安装程序检查 Web 和云的开发时间 IIS 支持 - ASP.NET 和 Web 开发。 在此处输入图像描述

  • 重新启动 IIS

  • 开放式解决方案 - 问题已修复。
于 2019-11-05T12:41:44.493 回答
2

项目属性 > Web > 服务器更改本地 ISS > ISS Express

改变国际空间站

于 2018-07-19T13:22:10.510 回答
2

在我的情况下,这个问题发生在我的 Windows 10 更新到最新版本之后

-我已经尝试了上述大多数解决方案,但没有帮助我

-我还检查了事件查看器以查看发生了什么错误。

这是与 iis 相关的错误发生了,但经过大量搜索后在互联网上没有找到任何解决方案

由于配置问题,无法加载模块 DLL 'C:\WINDOWS\System32\inetsrv\cgi.dll'。当前配置仅支持加载为 AMD64 处理器架构构建的映像。数据字段包含错误号。要了解有关此问题的更多信息,包括如何解决此类处理器体系结构不匹配错误,请参阅http://go.microsoft.com/fwlink/?LinkId=29349

在此处输入图像描述

我解决此问题的方法是将Enable 32-Bit Applications值更改为True

通过右键单击IIS 管理器中的DefaultAppPool并选择高级设置

在此处输入图像描述

于 2018-08-02T20:30:26.203 回答
2

我自己也遇到了这个问题,结果是我在 IIS 中的站点设置为使用具有特定网络帐户的匿名身份验证。我被迫重置该帐户的密码,因此 IIS 失败了,因为它使用的是旧密码。一旦我用新密码更新了站点(或者甚至更好,将其更改为使用网络服务),一切都会再次起作用。

于 2016-09-15T12:25:50.227 回答
1

您是否在您的机器上使用或安装了 IIS Rewrite?我的机器上也有类似的问题,但为了解决这个问题,我在 VS 中将 web.config 作为当前页面打开,然后按 f5。然后我必须导航到要调试的页面。它似乎对我有用。

于 2013-09-11T08:18:43.463 回答
1

就我而言,它看起来像 Chrome 锁定了一些资源,阻止调试器附加。关闭 Chrome 后,我可以再次附加。

于 2018-03-31T06:19:53.653 回答
1

按照我的步骤:

  1. 打开您的网络配置文件。
  2. 查看您的“静态内容”标签
  3. 删除或推荐不需要的设置标签 ex: -> < mimeMap fileExtension=".woff" mimeType="application/x-font-woff"/>
于 2017-06-28T13:11:54.700 回答
1

确保您在 C:\Windows\System32\drivers 中的 etc 文件没有与您遇到错误的应用程序同名的任何其他应用程序。

我有一个名为“localhost”的 Hadoop 沙箱,它与我的 Visual Studio 项目相同,该项目出现“无法在 Web 服务器上开始调试”错误。

删除这些行,您的项目应该开始调试。

于 2017-12-19T14:55:12.033 回答
1

如果您使用活动目录登录,您需要检查密码和用户名。

于 2017-09-05T07:05:01.403 回答
1

我编辑了解决方案文件并将 localhost 更改为我的 IP 地址。在此之前,我在项目目录中添加了具有完全控制权的 IIS_IUSRS。我现在可以调试了。

于 2017-03-07T20:09:00.197 回答
1

如果您可以检查您的日志,您应该能够获得错误状态和子状态。

日志通常位于 %SystemDrive%\inetpub\logs\LogFiles

我只需要面对一个类似的问题,查看我发现的日志:

2018-11-12 10:09:22 ::1 DEBUG /PPD/debugattach.aspx - 80 - ::1 - - 403 4 5 0

此处状态为 403,子状态为 4,此表https://support.microsoft.com/en-ca/help/943891/the-http-status-code-in-iis-7-0-iis-7- 5-and-iis-8-0提供了解决问题的知识!403.4 实际上是 SSL 必需的,一旦我将 Visual Studio 中的项目 URL 从 http 更改为 https(项目属性 -> Web -> 服务器 -> 项目 URL),问题就消失了。

我已经描述了我的修复,只是为了澄清解决问题所涉及的步骤,阅读所有答案,而不仅仅是“一旦我更改了项目 URL ...”并关注你的日志!

祝你好运!

于 2018-11-12T11:20:18.123 回答
1

在我的情况下,这个文件夹丢失了:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET 文件

添加该文件夹和必要的权限为我解决了它。

于 2017-08-08T20:56:10.317 回答
0

我遇到了这个问题,然后我发现我必须以管理员身份运行 Visual Studio 才能调试项目。

希望能帮助到你!

于 2015-04-17T07:42:05.183 回答
0

我在这里尝试了所有内容,最后发现这是我的 web.config 中的设置。我删除了该部分,它运行良好;稍后我将返回并解决它为什么被破坏的问题。

*编辑:我删除了 statusCode="503",因为 App_Offline.htm 文件和错误的配置方式存在问题。我已经删除了下面的行(本地不需要),并且一切正常。

<remove statusCode="503"/>

于 2020-09-19T20:51:04.913 回答
0

感谢所有答案,但没有一个对我有用。尽管其中一些给了我一些关于需要运行哪些服务和东西才能再次“打开”我的网络应用程序调试的想法:

  1. 确保 ASP.Net 在 IIS 中正确注册并运行。要注册它,请遵循@Rahul Tripathi 的说明,然后转到搜索 > 键入 services.msc 并确保 ASP.Net 状态服务正在运行。
  2. 正如@Morvael 建议的那样,始终以管理员模式运行您的 VS。
  3. 检查您的 Web 应用程序所在的应用程序池是否已启动。
  4. 确保 IIS 服务器本身正在运行(这为我解决了问题)

我仍然没有弄清楚我的 IIS 停止的原因是什么。昨天还好好的,今天就不行了。无论如何,我希望这个迷你清单对其他人有所帮助。干杯!

于 2017-03-11T14:18:01.527 回答
0

基于@MiscellaneousUser 的回答,在我的情况下,我已经启用 HSTS 来强制网站使用 HTTPS 而不是 HTTP。

为了解决这个问题,我不得不在 applicationHost.config 文件中禁用 HSTS,该文件通常位于:C:\Windows\System32\inetsrv\Config\applicationHost.config

文件的相关行是这样的 - 我刚刚将启用从 true 更改为 false:

<hsts enabled="false" max-age="31536000" includeSubDomains="true" redirectHttpToHttps="true" />

显然您需要考虑禁用 HSTS 的安全影响。就我而言,这是我的开发 PC,所以我只打开了 HSTS 来模拟生产的作用。

于 2018-11-26T09:52:10.057 回答
0

其他解决方案都不适合我。我使用以下命令解决了这个问题。

对于 32 位机器:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis –i

对于 64 位机器:

C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis –i

问题是因为未正确安装 web.config 文件。

于 2016-05-15T10:32:17.283 回答
0

只需加上我的 2 美分。

最近我为另一个项目安装了 docker,这导致项目运行时IIS Express生成错误“指定的端口正在使用中”。为了解决这个问题,我做了一些事情,但我执行了这个命令:

netsh http add iplisten ipaddress=::

此命令会分解在 上运行的站点IIS Local,因此如果您执行了此命令,您可以IIS Local通过执行以下操作来使您的站点再次运行,这会撤消上一个命令:

netsh http delete iplisten ipaddress=::
于 2020-09-03T07:53:22.873 回答
0

我在这里浏览了所有答案,但没有任何效果。我的情况是 IIS,并且在一周前创建了一个自签名证书。工作了一个星期,突然间我开始得到 403。最后我关闭了 Visual Studio,进入 IIS 并删除了虚拟目录,回到 Visual Studio 并从项目 Web 设置中创建了一个虚拟目录,一切又开始工作了。

自我证书有一年的到期日期,所以我不确定它为什么会停止工作,但这让我重新振作起来。

于 2018-09-24T12:52:35.567 回答
0

检查您的网络配置,如果有问题,您可能会收到此错误。我在 Web 配置中有一个 HTTP 到 HTTPS 重定向,但应用程序设置为作为 http 启动。

修复(本地 IIS):

  1. 在 IIS 中为您的应用程序配置 https 绑定。
  2. 右键单击 Web 项目,然后单击“属性”>“Web”。在服务器下,将 URL 设置为您的 https URL。
于 2019-01-30T12:16:42.263 回答
0

这可能是 Windows 用户凭据错误的情况。

在导入需要配置 Windows 用户名和密码的现有 IIS 项目后,此问题经常发生。要解决此问题,请确保应用程序池应用程序、网站和网站应用程序都配置为使用您的计算机凭据。

  1. 在 IIS 服务器节点上,选择 pool-application/app/website 并选择 Advanced Settings。
  2. 检查 Physical Path Credentials 的值是否正确。如果没有,请修复它。

在此处输入图像描述

  1. 在 IIS 服务器节点上,选择 pool-application/app/website 并选择Basic Settings
  2. 单击“测试设置”并验证凭据是否正确。

在此处输入图像描述

于 2019-03-25T18:15:14.673 回答
0

我遇到过同样的问题。问题是我没有安装 Framework 4,而我已经安装了 Framework 4.5,所以如果没有 ISAPI 4.0,就无法实现 MIME 类型的 ASPX。

要对其进行排序,我可以先卸载 4.5,然后添加 4.0,这会造成麻烦,或者手动将特定文件添加到 IIS 根目录中的 ISAPI 限制和 ISAPI 过滤器。我需要获取位于 C:\Windows\Microsoft.NET\Framework\ 和 C:\Windows\Microsoft.NET\Framework64\ 中的 aspnet_filter.dll 和 aspnet_isapi.dll

添加这些文件后,一切都会好起来的。

于 2016-01-04T06:30:12.710 回答
0

使用Microsoft Web Platform Installer安装 IIS ASP.NET 4.5

在此处输入图像描述

在这里找到解决方案:

于 2017-04-14T13:40:15.433 回答
0

在我的情况下,将调试模式更改为外部主机修复它

于 2021-11-08T13:49:47.757 回答
0

我的网络密码更改后总是会发生这种情况。
打开 IIS >> 选择应用程序池 >> 高级设置 >> 应用程序池标识 >> 设置凭据 >>设置用户名和密码。

还:

  1. 确保应用程序池的状态为“已启动”。
  2. 重启 IIS,通过 IIS 管理器或以管理员身份打开 cmd 并运行命令iisreset

在此处输入图像描述

于 2019-10-22T10:29:56.960 回答