Visual Studio启动时卡住在IIS Express,但本地IIS可以工作,为什么?

35
我以管理员身份运行了Visual Studio 2015,创建了一个新项目,ASP.NET应用程序,选择Empty 4.5.2模板,然后只添加了一个简单的HTML页面。但是当我尝试使用IIS Express启动时,只能看到“等待本地主机”的提示。如果我在IIS local下进行操作,则一切正常。
我的笔记本电脑上可以正常运行,但在台式电脑上进行了干净的Windows 10安装并重新安装了VS2015后,仍然出现相同的问题。IIS Express已经启动,但网页一直无法连接本地主机。
我已经查阅了很多解决方案,但未能解决问题。作为新手,我希望得到逐步说明如何解决此问题。
这是一个 .Net Framework 4.5.2 应用程序。

尝试创建并运行WebForms或MVC项目,以了解其工作原理并与您的项目进行比较。 - Ilya Chumakov
asp.net应用程序4.5.2。只是尝试显示一个简单的HTML页面。 - DCR
1
你尝试过删除本地的IIS Express文件夹吗?它位于C:\Users<用户名>\Documents\IISExpress。 - vzayko
尝试过了,不行。 - DCR
请检查您的IISExpress实例是否使用与您的IIS本地相同的端口(右键单击项目>“属性”>“Web”>检查服务器设置)。 - solidau
显示剩余2条评论
10个回答

55

退出Visual Studio并删除(project).vs文件夹。重新启动Visual Studio。它应该可以正常工作。


1
直到我改变了端口并重新构建了项目,这才对我起作用。 - Glen Little
运行得非常好。 - Janaka

16

您可以尝试通过以下步骤更改IIS Express使用的端口:

  1. 右键单击Web项目,然后点击属性

  2. 在Web菜单中,更改项目网址并指定自定义端口,例如:56000

enter image description here

  1. 保存更改,查看是否有效!

您可以通过运行以下命令确保没有其他进程在使用您选择的端口:

netstat -na | find "your port number"
IE stands for Internet Explorer, which is a web browser developed by Microsoft.
netstat -na | find "56000"

如果端口是空闲的,控制台将不会输出任何内容。


4
有时候在调试时,Visual Studio需要加载所有必要的符号,这可能需要几分钟的时间。请检查Visual Studio的状态栏:

enter image description here

出于某种原因,如果我在Visual Studio中更改目标浏览器为Google Chrome,则IIS Express可以正常工作。但是,重新启动Visual Studio就可以解决这个问题。

enter image description here


3
由于某种奇怪的原因,更改启动浏览器解决了我的问题。尽管所有的配置看起来都很好,但我得到了IIS Express标准起始页。在找到这个答案之后,我尝试将启动浏览器从Chrome更改为IE,结果一切都正常工作了。然后我又切换回Chrome作为启动浏览器,仍然没有问题。 - Per T

3

解决方案:
1. 以管理员身份运行 Visual Studio。打开您的 sln 文件,开始调试,然后停止并关闭 VS。
2. 再次以非管理员身份打开 sln 文件并开始调试。
它奏效了!

问题:
- 我的 VS2017 运行正常,可以进行调试,直到某个其他工具的安装损坏了它。然后我重新安装了它。当我尝试调试/运行站点时,它甚至无法打开站点的第一个页面。它一直在永远地加载程序集。我尝试了许多在 Google 上找到的方法,但没有帮助。
- 最后我尝试以管理员身份打开它,然后再用普通身份打开。这解决了我的问题。


1
  1. 右键单击您的Web项目,然后单击属性
  2. 转到右侧的Web选项卡
  3. 在服务器部分,将 local IIS 更改为 IIS Express

希望这能有所帮助


1

只需在解决方案资源管理器中右键单击HtmlPage1.html,然后单击设置为起始页。之后再次运行项目即可。

enter image description here


1

我曾遇到同样的问题,所有建议都不起作用。但是我以管理员身份运行Visual Studio,现在一切正常。因此,请转到Visual Studio的快捷方式,属性,高级...,并勾选以管理员身份运行。


0

查看 applicationhost.config 文件,位于

YOUR_DOCUMENTS_PATH\IISExpress\config\

定位 defaultDocument 设置,并添加您的静态 HTML 页面全名(yourpage.html),或者如果您想遵循标准,则可以使用其中一个选项:

   <defaultDocument enabled="true">
        <files>
            <add value="Default.htm" />
            <add value="Default.asp" />
            <add value="index.htm" />
            <add value="index.html" />
            <add value="iisstart.htm" />
            <add value="default.aspx" />
        </files>
    </defaultDocument>

我把HTML文件的名称改为index.html,但仍然显示等待本地主机。 - DCR
这个HTML文件是位于网站根目录下吗? - E-Bat
我关闭了Visual Studio并将IISExpress重命名为IISExpress_Save,这对我解决了问题。 - Darren Griffith

0

我认为您的系统中已禁用了IIS。请按照以下步骤操作:

  1. 进入控制面板
  2. 打开程序和功能
  3. 在左侧,您会找到“打开或关闭Windows功能”,点击它。
  4. 检查IIS是否被选中,并且所有子功能都已勾选。我在下面附上了一张截图供您参考。

enter image description here

  1. 请确保所有复选框都被勾选。
  2. 现在重新启动您的系统。

我认为这将解决您的问题。


7
IIS Express不同于IIS。 - balint

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接