64

我在 Visual Studio 2012 中有 asp.net Web 应用程序项目。当我想启动它时,出现以下错误:

无法启动 IIS Express Web 服务器:端口“4012”正在使用中

这个问题从无到有。我该如何解决?

4

21 回答 21

50

我在 Visual Studio 2012 中遇到了类似的问题:

错误:“无法启动 IIS Express Web 服务器。

未能为站点“MySite”应用程序“/”注册 URL http://localhost:1030/。错误描述:该进程无法使用文件,因为它正被另一个进程使用。(0x85968574) "

原因:实际上这个端口号是在运行时动态生成的。它保证可用。如果它被其他一些流程项目获取,则不会运行。所以我们需要在另一个端口尝试。

解决方案:我在互联网上找到了各种解决方案,但问题仍未解决。最后我尝试了以下解决方案:

  1. 在解决方案资源管理器中右键单击项目-> 属性
  2. 单击到 Web(在 LHS 上)。
  3. 查看本地 IIS Web 服务器(默认情况下会选择无线电 btn)。
  4. 更改项目 URL 的端口号,例如:http://localhost:1030/ 到 http://localhost:45896/(可能高于 1024)
  5. 保存更改并运行应用程序。

这会自动更改 IIS 配置文件和任何需要的位置,因此我们不需要显式更改任何代码。这对我有用,希望对你也有用。

于 2013-07-25T16:15:15.747 回答
37

来自 MSDN 库

Visual Studio 不能保证您指定的端口在您运行文件系统网站时可用。如果在运行页面时端口正在使用中,Visual Studio 会显示一条错误消息。

要更改 IIS Express 用来运行程序的端口,您应该按照 MSDN 上这篇文章概述的过程进行操作

如何:为开发服务器指定端口

简而言之,我们需要编辑该文件%systemdrive%:\Users\<username>\Documents\IISExpress\config并更改在该文件中找到的绑定信息并更改 IIS Express 的其他配置。

由于解决问题的方法不是那么简单,我建议关闭尝试在您的开发计算机上使用该端口访问的应用程序。寻找Microsoft 的TCPView等特定工具,以帮助发现抢占您端口的应用程序。通常它只是浏览器

于 2013-02-02T09:29:23.097 回答
13

从命令提示符运行“netstat -b”以查看哪个应用程序正在使用端口 4012。如果您终止该进程,IIS Express 将能够使用端口 4012 启动。

于 2013-11-05T14:43:59.373 回答
9

杀死IIS Express 工作进程为我解决了这个问题;我在尝试调试 Visual Studio 2015 的两个并发实例并在两个 Web 解决方案之间切换时遇到了这个问题。

如果这是一个持续存在的问题,那么 Kedar 修改解决方案的答案会更好,但在紧要关头,对于代码审查等,我更喜欢这个。

IIS Express 工作进程

于 2015-12-19T15:22:40.663 回答
6

一种解决方案是删除或清除浏览器中的历史记录。然后,重新启动 Visual Studio 并重新运行您的应用程序。

如果此解决方案不起作用,那么是时候更改开发服务器 (IIS Express) 的端口号了。

我希望它对你有帮助。

于 2013-02-02T13:12:06.553 回答
2

如果这种情况突然发生(一切正常,但突然显示错误无法启动 IIS Express Web 服务器),通常对我有用的解决方案很简单:

  • 杀死 IISExpress 进程
  • 更重要的是,关闭所有浏览器进程(Firefox、Chrome、Chrome Dev Tools、IE 等)

像魅力一样工作:) 如果没有,请尝试此线程的不同解决方案。

PS。我将其发布为答案,以便可以轻松找到它,尽管有人在评论中的某个地方写了它。

于 2016-04-28T12:54:19.203 回答
2

尝试关闭 Visual Studio 并使用“以管理员身份运行”选项再次打开它。

于 2018-03-08T16:14:57.723 回答
1

从配置文件中删除额外的绑定。

以管理员身份运行命令提示符并键入。

1. netsh http 显示 urlacl

您将看到已使用的 url 列表,请确保您当前尝试使用的 URL 已在此列出。在下一步中,您必须删除此预订。

2. netsh http delete urlacl url=/您在上面列表中列出的完整 URL /

确认后重启IIS

于 2014-08-22T22:36:24.023 回答
1

在运行 Visual Studio 的同时运行 Fiddler 时,我也遇到了这个错误。退出 Fiddler 并重新运行应用程序对我有用。

于 2015-04-24T19:34:47.830 回答
0

就我而言,我必须做两件事:

一种。从此文件中删除虚拟目录:

C:\Users\<user-name>\Documents\IISExpress\config\applicationhost.config

湾。从以下位置运行程序 TCPView: http ://technet.microsoft.com/en-us/sysinternals/bb897437 找到正在使用您的端口的进程,然后“结束进程”。

之后,在 Visual Studio 中,打开 Web 应用项目属性,选择 Web 选项卡,单击“创建虚拟目录”按钮重新创建虚拟目录。在调试模式下运行 Web 应用程序。

于 2014-10-16T23:49:55.507 回答
0

只需重新启动计算机即可为我解决此问题。

于 2015-01-10T20:36:22.987 回答
0

尝试以下步骤:

  1. 在 VS2013 中打开调试 > 网站属性。
  2. 选择“网络”选项卡。
  3. 在“服务器”下,我发现“覆盖应用程序根 URL”未选中。我检查并保存了。
于 2015-06-09T02:09:53.847 回答
0

只需转到 taskmanager --> 进程 --> iisexpress --> 右键单击​​ --> 结束进程树 --> 然后您就可以构建并运行您的应用程序

于 2015-11-21T11:09:40.913 回答
0

我遇到了与 OP 所说的完全相同的问题“这个问题无中生有”。

我只是重新启动了我的机器,它又可以工作了。重新启动 IIS Express 不起作用。

于 2016-02-24T18:44:38.790 回答
0

通过以下步骤解决了该问题: - 项目-> 属性-> Web - 在服务器下选择本地 IIS。- 保存设置并再次浏览

于 2016-03-25T09:39:08.227 回答
0

在 web.csproj 中更改端口号

<DevelopmentServerPort>56048</DevelopmentServerPort>
于 2016-06-23T17:25:03.230 回答
0

导航到 IIS 快递

cd "C:\Program Files (x86)\IIS Express\"

运行这个appcmd.exe list site /xml | appcmd delete site /in

另外,清除您的临时文件%temp%并注销,或重新启动

这将删除所有网站,享受!

于 2017-02-22T06:49:21.927 回答
0

另一种选择是applicationhost.config从本地解决方案文件夹中删除。

Visual Studio 也将其存储在.vs\config解决方案文件夹根目录中的一个文件夹中。

删除或编辑applicationhost.config那里帮助我解决了这个问题

于 2017-03-08T08:57:32.500 回答
0

请删除您的项目.vs文件夹和applicationhost.config文件,然后运行您的代码。

在此处输入图像描述

于 2017-05-22T11:58:39.283 回答
-1

比上述任何答案更有可能:删除 IISExpress 文件夹,如本文所述

于 2014-03-22T09:49:21.220 回答
-1

就我而言,我尝试了我在网上找到的所有帖子,但没有任何效果,我做的最后一件事是更改项目右键单击/使用 Visual Studio Web 服务器的选项,现在一切正常......

于 2014-05-22T20:28:27.667 回答