为什么以及如何修复? IIS Express“指定的端口正在使用”

问题描述 投票:56回答:25

我们知道在Visual Studio中为Web应用程序分配了一个随机端口号。它在我的办公桌面上工作正常。但是,当我将代码拉到我的笔记本电脑(来自VisualStudio.com)并运行Web应用程序时。我收到一条消息,说,

The specified port is in use

端口10360已被另一个应用程序使用。

建议

  1. 尝试切换到10360以外的端口,高于1024。
  2. 停止使用端口10360的应用程序。

我可以使用Recommendation #1通过将端口更改为其他类似13333来修复它。但我很好奇端口10360发生了什么。如何检查使用端口10360的应用程序?我该如何停止该申请?

visual-studio-2013 iis-express
25个回答
41
投票

我这样解决问题......

文件 - >打开 - >网站...

之后,选择IIS Express站点下的本地IIS,删除不需要的项目。

希望这个帮助。


2
投票

对我来说,谷歌Chrome浏览器是使用该端口的过程。即使在我关闭Chrome后,我发现该过程仍然存在(我允许Chrome“在后台运行”,以便我可以接收桌面通知)。我进入任务管理器,杀死了Chrome浏览器进程,然后启动了我的Web应用程序,它就像一个魅力。


2
投票

对我来说,关闭所有应用程序并重新启动计算机。

窗口启动时,首先打开Visual Studio,然后打开浏览器并单击运行(F5)。

现在它有效。我不知道为什么。


2
投票

当端口xxxx已经被使用时,总会有一个PID(过程ID)详细说明错误。只需转到运行应用程序的计算机上的任务管理器,单击详细信息,您将确定其他应用程序是什么。然后,您可以决定是否要结束该过程


2
投票

使用例如Notepad ++打开csproj并向下滚动到DevelopmentServerPort。只要它高于1024就像rekommended那样改为其他东西(例如22312)。还要将IISUrl更改为http://localhost:22312/。保存更改并重新启动项目。


2
投票

Visual Studio 2015

  • 关闭Visual Studio中打开的所有文件。
  • 然后关闭应用程序并退出Visual Studio。
  • 打开Visual Studio,它应该成功运行。

我希望这有帮助。


1
投票

对我来说,netstat诀窍告诉我,我有Fiddler正在运行,这使得端口保持打开状态。


1
投票

点击任务栏底部的通知,如果收到错误的端口,请选择右键单击iiss图标,然后单击退出,对我来说就像魅力一样


1
投票

错误消息应该告诉您哪个应用程序已在使用该端口 - 在我的情况下它是explorer.exe,所以它只是从任务管理器重新启动资源管理器的情况。


1
投票

我出现了同样的错误。我将我的Web服务设置为IIS中的应用程序,我通过以下方式修复它:

右键单击我的解决方案中的WebService项目>属性> Web>在'Servers'下从IIS Express更改为本地IIS(它将自动创建您想要的虚拟目录)


1
投票

打开任务管理器,然后关闭“IIS Express系统托盘”和“IIS Express工作进程”的所有进程并重新运行项目

Task Manager Process Details


33
投票
  1. 在解决方案中更改它(右键单击) - >属性 - > web选项卡
  2. 单击“创建虚拟目录”(在项目URL文本框前面)

IIS Express port change for fixing port in use


1
投票

在我的情况下,没有使用指定端口的应用程序,并且Visual Studio的提升运行也没有帮助。

对我有用的是重新安装IIS Express而不是重新启动计算机。


0
投票

对我来说,这是一个孤立的VBCSCompiler任务,来自之前的运行,没有关闭,并以某种方式干扰。杀死那个任务解决了它。

https://developercommunity.visualstudio.com/content/problem/31482/vbcscompiler-does-not-shut-down.html


0
投票

为了补充一点,我为我的一台机器打开了完整的IIS功能,这似乎导致间歇性地发生这种情况。

我也有一些关于需要管理员权限在一段时间后绑定网站的随机投诉,我认为它不知何故它正在查看完整的IIS配置(这确实需要管理员,因为它不是每用户文件)。

如果您遇到困难而没有其他任何帮助(并且您不想只选择其他端口),请检查是否已将其删除(如果存在)。


0
投票

对我来说,“指定的端口正在使用”错误通常是通过停止“Internet连接共享(ICS)”(SharedAccess)和“万维网发布服务”(W3SVC)服务来修复(实际上已经实际工作)。

启动项目/ IIS Express后,可以再次启动已停止的服务而不会出现问题。

每当我收到错误时,端口(在50000范围内)肯定没有使用(使用netstat和tcpview检查)。

如果微软与HyperV和“普通”IIS服务一起进行Visual Studio / IIS Express的一些集成测试,或者对VS / IIS Express使用哪些端口范围(以及要避免的端口)提供一些指导,那将是很好的。


0
投票

对我来说,netstat没有显示任何已经使用我所选端口的内容。

唯一有效的方法是删除解决方案文件夹中的.vs文件夹。


0
投票

FWIW,我尝试了很多这些选项,但我没有得到任何结果。然后我意识到我在问题开始之前安装了VMWare Player。我卸载了它,这个错误就消失了。

我确定有一些方法可以让它们共存,但我真的不需要播放器所以我只是删除了它。如果你已经尝试了各种各样的东西并且它没有工作,请考虑查看你最近安装的任何程序(特别是那些处理网络适配器的程序?),看看是否能让你随处可见。


25
投票

我有同样的问题,但netstat和resmon都没有出现过程。

是什么解决了我的问题是关闭所有打开的浏览器窗口。


14
投票

你在找netstat

打开管理命令shell并运行

netstat -aob

并查找端口10360.它将显示可执行文件打开端口以及在任务管理器中查找的PID。 (实际上,首先在无特权的shell中运行netstat -?,因为我不赞成盲目地运行任何你不理解的东西,特别是在特权环境中。)

这是交换机的作用:

-a显示所有连接或开放端口,而不仅仅是活动端口 - 您想要的端口可能正在侦听,而不是活动。

-o显示连接或端口的拥有PID,因此您可以在任务管理器的进程选项卡中找到该进程。 (您可能需要在任务管理器中添加PID列。查看 - >选择列)

-b显示打开连接或端口所涉及的二进制文件。这是需要提升访问权限的那个。


13
投票
  1. 关闭VS. 再次启动 - 右键单击​​并以管理员身份运行 再次运行您的项目。

13
投票

这让我困扰了一年多!

为了我,

  • IIS Express中没有运行任何网站
  • 通过在命令行运行:netstat -ano确定没有使用该端口。

解决方案是运行

netsh http add iplisten ipaddress=::

从命令行。

快乐的日子,并归功于:詹姆斯布莱恩特! https://developercommunity.visualstudio.com/content/problem/110767/specified-port-is-in-use.html


4
投票
  1. 删除.sln文件(如果有)。
  2. 打开文件C:\ Users \ NN \ Documents \ IISExpress \ config \ applicationhost.config
  3. 在configuration / system.applicationHost / sites中找到有问题的站点并删除整个站点部分。
  4. 来自Visual Studio的“Open Web Site ..”将为该项目提供一个随机的新端口。

4
投票

如果netstat没有显示任何内容,请尝试重新启动。

对我来说,我的端口没有出现在netstat中。我尝试关闭谷歌Chrome浏览器窗口@Clangon和@ J.T。泰勒建议,但无济于事。

最后,系统重新启动工作,所以我只能假设其他东西正在秘密地保持端口打开。或者它可能只花了比我准备等待Chrome关闭后释放端口的时间更长的时间。


4
投票

以管理模式运行visual studio解决了我的问题

© www.soinside.com 2019 - 2024. All rights reserved.