无法启动Web服务器

时间:2013-02-02 09:12:33

标签: asp.net visual-studio-2012 iis-express

我在visual studio 2012中有asp.net web应用程序项目。当我想启动它时,我有以下错误:

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

这个问题来自于什么。我该如何解决?

21 个答案:

答案 0 :(得分:48)

我在visual studio 2012中遇到了类似的问题:

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

无法为网站“MySite”应用程序“/”注册URL http:// localhost:1030 /。   错误说明:进程无法使用文件,因为它正由另一个进程使用。 (0x85968574)“

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

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

  1. 右键单击解决方案资源管理器中的项目 - >特性
  2. 单击Web(On LHS)。
  3. 查看本地IIS Web服务器(默认选择无线电btn)。
  4. 更改项目Url的端口号 例如:http:// localhost:1030 /到http:// localhost:45896 /(可能高于1024)
  5. 保存更改并运行应用程序。
  6. 这样可以自动更改IIS配置文件和所需位置,因此我们无需显式更改任何代码。这对我有用,希望对你也有用。

答案 1 :(得分:34)

来自MSDN库

  

Visual Studio无法保证您指定的端口将是   运行文件系统Web站点时可用。如果端口在   在运行页面时使用,Visual Studio会显示错误消息。

要更改IIS Express用于运行程序的端口,您应该按照MSDN上本文所述的步骤进行操作

How to: Specify a Port for the Development Server

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

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

答案 2 :(得分:13)

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

答案 3 :(得分:8)

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

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

IIS Express Worker Process

答案 4 :(得分:6)

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

如果此解决方案不起作用,则您需要更改开发服务器(IIS Express)的端口号。

我希望它可以帮到你。

答案 5 :(得分:2)

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

  • 杀死IISExpress进程
  • 更重要的是,关闭所有浏览器进程(Firefox,Chrome,Chrome开发工具,IE等)

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

PS。我发布它作为答案,因此可以很容易地找到它,虽然有人在评论的某处写了它。

答案 6 :(得分:1)

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

答案 7 :(得分:1)

在与Visual Studio同时运行Fiddler时,我也遇到过此错误。退出Fiddler并重新运行应用程序对我来说很有用。

答案 8 :(得分:1)

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

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

1。 netsh http show urlacl

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

2。 netsh http delete urlacl url = / 您在上面列表中列出的完整网址 /

确认后,重新启动IIS

答案 9 :(得分:0)

只需重新启动计算机就可以解决这个问题。

答案 10 :(得分:0)

在我的情况下,我必须做两件事:

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

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

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

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

答案 11 :(得分:0)

请尝试以下步骤:

  1. 在VS2013中打开调试&gt;网站属性。
  2. 选择&#34; Web&#34;标签。
  3. &#34;服务器&#34;我发现&#34;覆盖应用程序根URL&#34;没有检查。我查了一下并保存了。

答案 12 :(得分:0)

  

只需转到taskmanager - &gt;过程 - &gt; iisexpress - &gt;右键点击    - &GT;结束进程树 - &gt;然后你可以构建和运行你的应用程序

答案 13 :(得分:0)

我有完全相同的问题,OP说“这个问题来自于什么。”

我只是重新启动了我的机器,它又恢复了工作。重新启动IIS Express无效。

答案 14 :(得分:0)

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

答案 15 :(得分:0)

在web.csproj中更改端口号

<DevelopmentServerPort>56048</DevelopmentServerPort>

答案 16 :(得分:0)

导航到IIS express

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

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

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

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

答案 17 :(得分:0)

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

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

删除或修改applicationhost.config帮助我解决此问题

答案 18 :(得分:0)

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

enter image description here

答案 19 :(得分:-1)

在我的情况下,我尝试了我在网上发现的每一篇文章,没有任何作用,我做的最后一件事就是更改项目上的选项右键单击/使用visual studio web服务器,现在一切正常...

答案 20 :(得分:-1)

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