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

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

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

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

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

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

该网页不可用。

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


当前回答

下面的步骤可以帮我解决这个问题:

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

注意:根据我的经验和评论中的其他人,这个问题似乎是由于在不同的工作站、环境或Visual Studio版本之间移动项目引起的。在.vs文件夹中必须包含一些特定于环境的信息。

其他回答

关于第一个错误:

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

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

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

netstat -ano | find "12116"

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

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

如果这不起作用,那么:

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

然后再次运行您的项目。

下面的步骤可以帮我解决这个问题:

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

注意:根据我的经验和评论中的其他人,这个问题似乎是由于在不同的工作站、环境或Visual Studio版本之间移动项目引起的。在.vs文件夹中必须包含一些特定于环境的信息。

我运行命令:

dotnet --list-sdks

我发现我的SDK比我在.csproj文件中设置的SDK稍微旧一些。所以我下载了最新的。net 6 SDK,关闭并重新打开了Visual Studio。解决方案终于启动了。

Kilanny的回答是正确的。2015年的大多数机器都是64位的,所以有很多机会你只需要在工具主导航链接菜单下启用64位选项。不需要配置其他文件或硬编码端口。此外,端口分配应该是动态的。此修复适用于2013 With Update 3和Visual Studio 2015 Community Edition。

查看下面的迷你教程图片: (我只是在改进Kilanny的答案)