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

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

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

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

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

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

该网页不可用。

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


当前回答

如果您使用的是64位机器

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

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

其他回答

我在新机器和新安装的VS 2022上解决这个问题的方法是安装3.1框架。因此,请检查确保项目所期望的框架已安装在本地机器上。

看起来有很多有效的解决方案,也有一些行不通……

在几次测试迭代之后,我的问题不断浮出水面。 是的,重启PC和/或VS可以解决这个问题…但暂时。

我的解决方案是撤销几天前启用的安全更改 早于勒索软件保护下的受控文件夹访问。

我通过以下方法撤销了这一更改: (右击开始) 设置->更新和安全->Windows安全->病毒和威胁防护->病毒和威胁防护设置->管理设置

受控文件夹访问 单击->管理受控文件夹访问 (这也是勒索软件保护屏幕)

关闭受控文件夹访问。

这对我来说是100%的问题,因为我可以在不重新启动VS的情况下运行我的测试。

我在尝试运行一个项目时遇到了这个问题,这个项目已经在我使用过很多次的机器上运行了很多次。清理我的IIS Express目录和.vs目录无效,设置环境变量也无效。我甚至尝试重新克隆我的存储库到一个不同的文件夹,但没有成功。

通过尝试通过命令行运行,我发现了一个更有用的信息:

dotnet run --project [startup project path]

我看到项目试图使用。net 6.0.5运行,但我只安装了。net 6.0.4。从微软网站上安装最新的。net 6.0.5成功了。

TL;DR:如果你安装了正确的。net Core(我猜是。net)运行时,请安装任何补丁更新,如果没有最新版本,请重新安装。

细节: 类似于其他几个答案,他们只是没有安装正确的。net核心。我试图运行一个。net Core 3.1 web应用程序,它在之前的几个月里工作得很好,但突然发生了这种情况。

我确实安装了3.1(运行时3.1.21和3.1.22)。然而,12天前已经发布了一个新的版本(3.1.23),安装它就解决了这个问题。

我不知道这是因为它知道有一个新补丁,而我没有,所以它无法运行,还是因为我的3.1.22安装有问题。值得尝试安装最新的补丁,或重新安装现有的安装。

关于第一个错误:

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

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

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

netstat -ano | find "12116"

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