我试图在visual studio 2013更新3上运行任何程序,我得到以下警告框:

Id为####的进程未运行。

每次都有不同的身份证号码显示。

在错误窗口,我得到这个错误消息:

程序“[3148]iisexpress.exe”已退出,代码为-1073741816 (0xc0000008)“指定了一个无效的句柄”。

有时它运行时,我在浏览器中得到以下消息:

该网页不可用。

为什么会发生这种情况,我该如何解决它?


当前回答

关于第一个错误:

ID为####的进程未运行

当iisexpress无法绑定到端口时,有时会出现这种情况。一个可能的原因是其他一些进程已经绑定到该端口。Visual Studio将启动IISExpress.exe进程(它将无法绑定到端口并再次退出),然后附加到现在终止的进程,从而导致上述错误。

要检查,请注意项目设置中的端口号(例如12116),然后尝试:

netstat -ano | find "12116"

如果另一个进程打开了端口,这将给出它的PID。然后,您可以选择终止有问题的进程或重新分配您自己的端口号。

其他回答

关闭VS。 导航到解决方案的文件夹,删除隐藏的.vs文件夹。 重启VS。 点击F5, IIS Express将正常加载,允许您调试。

如果这不起作用,那么:

右键单击解决方案并转到属性 点击左侧菜单Web标签 单击复选框“覆盖应用程序根Url”

然后再次运行您的项目。

在尝试这些方法之前,请重新启动计算机!

其中一些可能是有用的。使用netstat技巧

netstat -ano | find

帮助我,因为另一个应用程序正在使用我的端口,但没有完全解决我的问题。IIS Express仍然不断崩溃。直到我重启win 10电脑(一周以来的第一次),我的问题才完全解决。

所以,对我来说,什么都不管用,当我得到一台新机器时,这种情况就发生了。显然它没有旧版本的。net。进入VS安装程序,选中。net 5运行时(VS 2022)。现在在所有。net 5项目上运行良好。

startMode="alwaysRunning"在$SOLUTION_DIR/bis/.vs/config/applicationhost。这是Config给我造成的。尝试删除该字符串,一切将重新工作(即使没有重新启动VS)

如果您使用的是64位机器

那么问题可能是由于Visual Studio使用32位的IIS-Express。

解决方法:在Visual Studio中,进入“工具”菜单>选项>项目和解决方案> Web项目>启用“使用IIS Express的64位版本”选项,单击“确定”