Visual Studio开发服务器使用错误的端口

时间:2009-03-03 18:28:22

标签: asp.net visual-studio visual-studio-2008 vs-devserver

与我认为已经解决的previous issue相关但实际上并非......

我认为我的Visual Studio 2008安装可能有些混乱。

  1. 当我的ASP.NET项目设置为使用具有固定端口的VS Dev Server时,我得到linked question中描述的“使用中的端口”错误。
  2. 当我的项目设置为使用随机(自动分配)端口号时,它可以工作,但它使用比实际Dev Server端口号少3的端口号启动浏览器(例如,如果端口号是1903) ,浏览器启动到http://localhost:1900/
  3. 如果我对项目设置进行了更改,则在保存并重新启动Visual Studio之前,它们不会“占用”。
  4. 有任何想法如何跟踪这个?

    谢谢!

7 个答案:

答案 0 :(得分:61)

我有一个类似的问题,它同时击中了我的两台主机。在调查时,我发现它与Eset的个人安全有关(猜测最近的更新搞砸了什么)。为了解决这个问题,我从活动的浏览器过滤中排除了VS2008 - 这是: 设置 - >高级防火墙设置 - >杀毒软件反间谍软件 - >网络访问保护 - > HTTP - > webbrowsers

在这里取消选择vsdev修复了问题 - 有趣的是,禁用防火墙和防病毒/反间谍软件并没有解决问题,所以如果你运行不同的安全软件,那么值得寻找类似的设置

答案 1 :(得分:17)

首先尝试杀死所有“WebDev.WebServer.exe”进程。

  • 在“解决方案资源管理器”中,单击应用程序的名称。
  • 在“属性”窗格中,单击“使用动态端口”旁边的向下箭头,然后从下拉列表中选择“假”。这将启用“端口号”属性的编辑。
  • 在“属性”窗格中,单击“端口号”旁边的文本框,然后键入端口号。
  • 单击“属性”窗格外部。这样可以保存属性设置。

希望这有帮助

答案 2 :(得分:4)

我完全赞同Macros的回答。只想分享Eset Nod32 v5的解决方案

ESET NOD32 v5 中,要允许Visual Studio运行开发或IIS Express服务器,您必须取消选中Nod32中的Visual Studio 高级设置=>网络和电子邮件=>协议过滤=>网络和电子邮件客户端

答案 3 :(得分:2)

怪异!

端口号存储在.sln文件中。所以,我先把解决方案文件吹掉,重新创建它,看看会发生什么。如果这没有帮助,我会转到web.config文件并将其吹走并重新开始。

答案 4 :(得分:1)

我也遇到了同样的错误信息:

  
    

由于端口[xxxx]正在使用,因此无法启动Visual Studio开发服务器。

  

但是,我没有安装ESET。相反,我最近在我的机器上安装了GlassFish服务器,这导致了问题。因此,在Windows任务管理器中,我杀死了它运行的进程java.exe,并修复了问题。

答案 5 :(得分:1)

这也适用于Visual Studio 2010。

还有更多内容。

症状:

  • Web(服务)项目配置为在特定端口运行,例如10080
  • 一段时间后,Visual Studio会“无法启动Visual Studio开发服务器,因为端口'10080'正在使用
  • 原因尚不清楚。它可能与webdev服务器崩溃有关。
  • 重新启动电脑无法解决问题。
  • Netstat不显示端口10080的条目
  • 在端口10080上手动启动WebDev.WebServer40.exe可以正常工作。

由于我想从Visual Studio内部开始,我移动到端口10081,然后移动到10082,现在移到10083.我的端口用完了。

无效的解决方案

  • 重新启动Visual Studio
  • 调整Trendmicro安全设置(无法访问它们)
  • 禁用Forticlient防病毒/防火墙

可行的解决方法


  • 配置我的项目以手动启动服务器
  • 右键单击项目,选择属性
  • 点击“网络”标签
  • 选择开始操作“启动外部程序”并将其指向 Webdev.Webserver40.EXE (对我来说:C:\ Program Files(x86)\ Common Files \ Microsoft Shared \ DevServer \ 10.0 \ WebDev.WebServer40.EXE)
  • 命令行参数: / port:10080 / path:C:\ Solution \ Project
  • 工作目录: C:\ Solution \ Project
  • 在服务器下,选中“使用自定义Web服务器
  • 不检查任何调试器复选框

副作用:我的项目认为断点没有被击中。 (“没有符号加载”)。原来他们的工作就像他们应该的那样。

我希望任何人都能找到明确的解决方案,但在此之前,这个解决方法对我有用。

答案 6 :(得分:0)

要解决您的问题,请重启您的电脑。我遇到了同样的问题,我做了同样的事情。