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

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

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

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

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

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

该网页不可用。

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


当前回答

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

如果这不起作用,那么:

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

然后再次运行您的项目。

其他回答

关于第一个错误:

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

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

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

netstat -ano | find "12116"

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

我最近在使用VS 2013和IIS Express时遇到了同样的问题:

"Process with an ID #### is not running ." //每次都会显示不同的ID号。

以下是我发现的对我有效的解决方法:

1)进入文档-> IIS Express -> config -> applicationhost.config

2)打开applicationhost。在notepad++中配置

3)在标签下,有几行代码看起来像这样:

    <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true">
                 <processModel loadUserProfile="true" />
        </add>

4)去掉这两条线

                <processModel loadUserProfile="true" /> 
        </add>

5)将第一行的END改为

            <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />

注意,我所做的只是在“true”之后添加“/”来关闭标签。

我现在能够运行我的项目在一个网络浏览器和调试我的代码。

此外,我已经更新到更新4,但也有同样的问题。我相信附加applicationhost。配置文件是什么解决了这个问题。

我希望这能有所帮助!

关闭Visual studio实例。 在管理模式下重新启动。“以管理员身份运行”

我遇到了同样的问题,并发现文件'applicationhost。config'(在..\Documents\IISExpress\config中)有一个不同的本地主机端口号(在'sites'部分中),与项目\properties\web中指定的端口号不同。把它们换成相同的数字,问题就解决了

当我得到这个的时候,当管理员似乎并没有什么不同。

确保所有iisexpress.exe进程都已关闭 编辑< path_to_your_solution > \ \ .vs \ config \ applicationhost.config的解决方案 修改站点名称。 <site name="MySite" id="1" serverAutoStart="true"> : <site name="MySite2" id="1" serverAutoStart="true"> 这为我解决了问题