39

我启动了一个 VS2013 VB.Net MVC5 Web 应用程序,在 HomeController About 方法中设置断点并运行“开始调试”,导航到关于页面并收到"Code not running - The current Thread is not currently running or the call stack could not be obtained"阻止任何调试的消息。

如果我在 Global.asax Application_Start 中设置断点,则断点可以正常工作。更改“启用编辑并继续”没有任何区别。

有人知道发生了什么吗?

更新:我的环境是带有 VS2013 Ultimate 的 Windows 8.0 Pro。

此后,我刷新了系统并全新安装了 Windows 8.1 Pro、VS2010 Ultimate、VS2012 Ultimate 和 VS2013 Ultimate。

对所有 3 个版本的 VS 进行了相同的测试 - 文件 > 新项目 > MVC(默认)。所有 3 个版本的 VS 都在报告“ Process with an Id of xxx is not running.

VS2013 调试跟踪报告"The program '[7720] iisexpress.exe: Program Trace' has exited with code 0 (0x0). The program '[xxxx] iisexpress.exe' has exited with code -1073741816 (0xc0000008) 'An invalid handle was specified'.

我已经在管理员模式下运行 VS 并收到相同的结果。我已经卸载并重新安装了 IIS Express 8.0。

4

17 回答 17

45

对我来说,解决方案要简单得多。在 Visual Studio 的解决方案资源管理器中,我右键单击 Web 项目,选择属性,然后导航到“Web”选项卡。从那里我将项目 URL 更改为另一个端口号。例如,如果是http://localhost:1052- 我将其更改为http://localhost:4356.

ID 为 xxx 的进程未运行。

不确定这是否对其他人有帮助,但它对我有用——希望它也对你有用!

于 2014-03-21T12:23:42.927 回答
33

如果您使用的是 64 位机器

转到 Visual Studio > 工具菜单 > 选项

选择项目和解决方案 > Web 项目并选择使用 IIS Express 的 64 位版本的选项窗口

于 2015-05-26T09:56:33.903 回答
30

我遇到了同样的问题,我的解决方案如下:

不要删除主applicationhost.config文件夹(在“Documents/IIS Express”文件夹中),而是检查您的解决方案文件夹中是否存在带有“config”子文件夹的隐藏“.vs”文件夹。如果该文件夹存在并且它有自己的applicationhost.config文件,您需要重命名(或删除)该文件或对其进行编辑,并确保其中配置的网站与您的解决方案中的 ASP.NET Web 应用程序相匹配试图调试。希望这可以帮助。

于 2016-07-26T20:03:42.577 回答
17

在 MVC 项目上从 Visual Studio 2013 迁移到 Visual Studio 2015 时,我遇到了类似的问题。

正如Johan J v Rensburg指出的那样,删除整个 .vs 解决方案是一种魅力。

于 2017-01-18T10:00:55.300 回答
13

以下步骤解决了 VS 2015 和 VS 2017 的问题:


关闭VS。

导航到解决方案的文件夹并删除隐藏的.vs 文件夹。

打开VS。

点击 F5 和 IIS Express 应该正常加载,允许您进行调试。

于 2018-02-20T07:44:44.450 回答
11

上述问题的解决方案很简单。关闭开发环境,转到 Documents 文件夹并重命名 IISExpress。现在设置环境变量_CSRUN_DISABLE_WORKAROUNDS(参考:http ://gauravmantri.com/2013/02/05/workaround-for-iis-express-crashing-when-running-windows-azure-cloud-service-web-role-with- windows-azure-sdk-1-8-compute-emulator/ 中的多个实例)。

现在重新启动PC,启动VS,加载网站并在调试中运行。IIS 自动重新生成 IISExpress 文件夹并且环境变量解决了冲突。

于 2013-10-28T03:07:05.503 回答
10

Well.. for me it was Telerik JustMock Q3 2013 (13.3.1015.0) that caused the problem. Uninstalled it from VS 2013 and the problem has gone..

see also ASP.NET-MVC4 Code Not Running and http://feedback.telerik.com/Project/105/Feedback/Details/63749-unable-to-debug-asp-net-projects-with-q3-2013

One lost day and many new white hairs... Curse on you Telerik guys! ;)

于 2013-10-30T18:31:59.937 回答
3

另一种情况可能是 IIS 用于您的应用程序的端口已被另一个正在运行的应用程序使用。尝试更改端口,看看它是否适合您。

于 2014-09-10T16:10:23.847 回答
2

我开始在Visual Studio 2017中使用Asp.Net Core Web Applications遇到这个问题。就我而言,它是带有.Net 4.5.2的.Net Core Standard版本还是带有1.1的Core版本都没有关系。当我开始调试时,IISExpress 崩溃了。

尝试了一切,直到我进入Windows 10中的添加/删除程序并卸载了.net core 1.0 运行时(我同时安装了 1.0 和 1.1)之前,没有任何效果。卸载后,我启动了 Visual Studio 2017 和我的 .Net Core Web 应用程序(两种),它们都重新开始工作了!

于 2017-04-28T18:25:24.147 回答
2

我通过执行以下操作使其工作:

  • 删除应用程序文件夹下的“.vs”文件夹
  • 从文档中删除“IISExpress”文件夹
  • 通过转到工具 -> 选项 -> 项目和解决方案 -> Web 项目,在 Visual Studio 上启用 64 位版本的 IIS Express 在此处输入图像描述
  • 可能需要从临时文件夹中删除所有内容
  • 可能需要通过右键单击项目来更改端口,转到属性,在 web 下并更改项目 url 端口。
于 2019-12-10T11:44:53.110 回答
1

转到项目目录 .vs/config/ 并删除 applicationhost.config 。然后重启项目。

于 2018-03-16T07:10:01.510 回答
1

类似的问题出现在aspdotnet core中,同样的错误The program '[xxxx] iisexpress.exe' has exited with code -1073741816 (0xc0000008).

web.config 中的日志文件设置也没有产生任何信息:

<aspNetCore  stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />

要找到确切的错误,在命令提示符下使用日志信息的下一步有帮助:

> dotnet restore
> dotnet run

在我的情况下,问题出在 dotnet core v 中1.0.0,而版本1.0.1需要全局安装。

于 2016-10-14T14:22:08.817 回答
0

删除文件 C:\Users\congt\Documents\IISExpress

于 2017-11-28T11:58:20.350 回答
0

解决方法:对我来说,问题与活动的 chrome 会话有关。我关闭了所有 chrome 浏览器会话,然后尝试再次构建到 chrome。我正在使用 Visual Studio Professional 2017 版本 15.3.2。我遇到构建错误的 VS 应用程序是一个 WebAPI 项目。尝试单击绿色播放按钮时,我收到对话框错误提示“无法启动程序' http://localhost:18980/ '。当前状态下的操作不合法。希望这篇文章对某人有所帮助。

于 2018-12-30T01:19:37.317 回答
0

就我而言,问题是没有创建虚拟目录。

  1. 右键单击 web 项目文件并转到属性
  2. 导航到网络
  3. 向下滚动到项目网址
  4. 单击创建虚拟目录按钮以创建虚拟目录

在此处输入图像描述

于 2018-08-10T19:09:21.607 回答
0

以上答案都不适合我,但我终于找到了我的问题所在。希望这会帮助某人。

首先从命令提示符运行 IIS Express 以验证该站点是否可以运行

https://docs.microsoft.com/en-us/iis/extensions/using-iis-express/running-iis-express-from-the-command-line

我的情况是,我收到一条错误消息,说 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CONFIG\web.config 在第 14 行有格式错误的 xml。查看文件中的那一行,它只是说 null null null null null 等

对我来说,解决方法是将 web.config 文件替换为我同事提供的文件。 重要的是,您必须从运行相同版本的人那里获取文件,即如果您是 VS2015,请从运行 VS2015 的人那里获取副本。如果你从运行不同版本的人那里得到它,你会看到一个错误,说它无法从清单中加载程序集。

希望这对尝试过上述所有建议的人有所帮助。我认为这对我来说是从试用模式更新并在 VS2017 中添加产品密钥

于 2017-12-14T16:27:37.513 回答
0

我已经为我解决了这个问题。尝试将所有Deny值更改为Allowin file %SYSTEM_DRIVE%\Program Files\IIS Express\AppServer\applicationhost.xml。请考虑您在 Visual Studio 设置中使用的 IIS Express Web 服务器是 32 位还是 64 位,这意味着我必须检查不同文件夹中的文件。然后重新启动 Visual Studio。我不知道这些配置行的安全问题,所以更改它们需要您自担风险,但它已经解决了我的问题。

<section name="asp" overrideModeDefault="Allow" />
<section name="caching" overrideModeDefault="Allow" />
<section name="cgi" overrideModeDefault="Allow" />
<section name="defaultDocument" overrideModeDefault="Allow" />
<section name="directoryBrowse" overrideModeDefault="Allow" />
<section name="fastCgi" allowDefinition="AppHostOnly" overrideModeDefault="Allow" />
<section name="globalModules" allowDefinition="AppHostOnly" overrideModeDefault="Allow" />
<section name="handlers" overrideModeDefault="Allow" />
<section name="httpCompression" overrideModeDefault="Allow" />
<section name="httpErrors" overrideModeDefault="Allow" />
<section name="httpLogging" overrideModeDefault="Allow" />
<section name="httpProtocol" overrideModeDefault="Allow" />

等等

于 2016-11-27T23:21:30.647 回答