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

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

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

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

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

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

该网页不可用。

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


当前回答

我做了什么来解决这个问题

打开C:\Users\gr_mext1\Documents\IISExpress\config\ applicationhost。配置并删除<sites>中的所有<site>条目,不删除<siteDefaults>!

在项目中,转到属性,Web,然后单击“创建虚拟目录”。

关闭并重新打开visual studio,加载项目并运行

固定!

其他回答

对我来说,其他的方法都没用。 我尝试过的事情:

更新并修补与Visual Studio相关的所有内容 重新安装Visual Studio 重新安装IIS Express 几个重新启动 将_WORKAROUND添加到PATH中 重命名文档下的IIS文件夹以重新生成IIS配置 手动编辑csproj文件并删除整个IIS设置部分 在VS设置中将IIS可执行文件的使用改为64位 在项目设置中更改IIS端口

在检查了该问题是否在不同的项目中持续存在之后,发现该问题只发生在一个特定的项目中。我认为我必须删除解决方案文件夹中所有特定于用户的文件(例如bin, obj, *)。缩,…) 我只是删除了整个解决方案文件夹,并在git中恢复了文件。

TLDR: 尝试删除用户特定的文件/文件夹,如bin, obj, *。缩,……

如果使用git作为源代码控制,还应该确保忽略任何特定于用户的文件。

[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/

如果它们已经被跟踪,那么使用git -r rm——cached

这为我解决了错误。

关于第一个错误:

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

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

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

netstat -ano | find "12116"

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

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安装有问题。值得尝试安装最新的补丁,或重新安装现有的安装。

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