Pri*_*iya 74 visual-studio iis-express
我试图通过visual studio运行我的Web服务.我遇到了一个问题:
---------------------------
Microsoft Visual Studio
---------------------------
Unable to launch the IIS Express Web server.
Failed to register URL "http://localhost:63591/" for site "xxxxxx" application
"/". Error description: The process cannot access the file because it is being
used by another process. (0x80070020)
---------------------------
OK
---------------------------
Run Code Online (Sandbox Code Playgroud)
我看到了任务管理器,发现系统使用了PID 4,其描述是,NT Kernel & System.
所以我试图阻止它http service.所有依赖服务都已停止 但我在停止http服务方面遇到了一个问题
The service is starting or stopping. Please try again later.
Run Code Online (Sandbox Code Playgroud)
所以,我试图手动停止并启动服务.但是结束进程被禁用.如果有人可以帮助解决这个问题,将会很有帮助
Phi*_*ith 152
我在 Windows 10 上尝试从 Visual Studio 2019 运行项目时遇到了类似的问题。该应用程序无法启动,因为该端口显然正被另一个进程使用。但是,该netstat命令显示该端口未被任何应用程序使用。
花了 2 天的谷歌搜索后,我找到了一个对我有用的解决方案。我尝试使用的端口位于排除的端口范围内,您可以通过运行以下命令查看:
netsh interface ipv4 show excludedportrange protocol=tcp
Run Code Online (Sandbox Code Playgroud)
在我的案例中保留这些端口的罪魁祸首是 Docker for Windows 和 Hyper-V
解决方案
我卸载了 Docker(因为我不需要它)并禁用了 Hyper-V。要禁用 Hyper-V: 转到:控制面板 -> 程序和功能 -> 打开或关闭 Windows 功能。取消 Hyper-V 并重新启动计算机。
重新启动后,命令
netsh interface ipv4 show excludedportrange protocol=tcp显示没有保留端口。
然后,我通过从提升的命令行运行以下命令,将我的应用程序的端口添加到排除的端口范围:
netsh int ipv4 add excludedportrange protocol=tcp startport=50403 numberofports=1 store=persistent
Run Code Online (Sandbox Code Playgroud)
然后我重新启用了 Hyper-V(如果需要,可以重新安装 Docker)并再次重新启动计算机。
Hyper-V 现在保留其端口而不干扰我的应用程序使用的端口: 保留端口范围
Chr*_*uer 108
来自https://www.davidsalter.co.uk/unable-to-launch-the-iis-express-web-server-error-0x80070020/
错误代码0x80070020意味着ERROR_SHARING_VIOLATION,在IIS Express(或IIS)的情况下,意味着它正在尝试侦听的端口正由另一个进程使用.
使用该netstat命令可以找出正在使用该端口的应用程序.
netstat -ao | findstr <port_number_to_search_for>
Run Code Online (Sandbox Code Playgroud)
该a参数告诉netstat显示所有连接和侦听端口.
该o参数告诉netstat显示与连接关联的进程ID.
运行上面的netstat命令将产生如下输出:
C:\>netstat -ao | findstr 4026
TCP 12.0.0.1:4026 cs-pc:4026 LISTENING 9544
Run Code Online (Sandbox Code Playgroud)
显示的最后一个数字(此处为9544)是进程ID.
小智 46
这个答案对我有用
1-打开 cmd 以管理员身份运行
2-键入 net stop winnat
您收到
“Windows NAT 驱动程序服务已成功停止”。
3-然后输入net start winnat,
你会得到
Windows NAT驱动程序服务已成功启动。
之后进入 Visual Studio 并按 ctrl+f5
小智 30
对我有用的解决方案是,
要解决此问题,您必须暂时禁用 winnat 服务,只需运行此命令即可完成(必须以管理员身份运行)
净停止赢
启动您的 docker 服务并再次启动 winnat
净启动winnat
解决方案发布在http://www.herlitz.nu/2020/12/01/docker-error-ports-are-not-available-on-windows-10/
小智 21
我遇到过同样的问题.正如@Kautsky Lozano上面提到的另一个应用程序正在使用该端口.
所以[对于Windows操作系统]只是:
Joh*_*ard 15
netstat -ano | findstr <your port number>
端口可能被排除在外,尝试此命令以查看范围是否被其他内容阻止:
netsh interface ipv4 show excludedportrange protocol=tcp
您可以尝试从多个端口的起始端口取消阻止范围(需要管理员的命令提示符):
netsh int ip delete excludedportrange protocol=tcp numberofports=<number of ports> startport=<start port>
对我来说,我无法取消阻止这些,我只是收到“访问被拒绝”,所以我最终不得不为我的网站选择另一个端口。
Qam*_*man 13
If not successful, Try run this command in cmd: "net stop winnat"
Ste*_*rdt 11
在我们将解决方案从Visual Studio 2012升级到2015之后,我遇到了同样的问题.我来到这里并且netstat只是发现没有其他应用程序使用相同的端口.事实证明我有相同的站点,在我的解决方案中的applicationhost.configat Users/<username>/Documents/IISExpress/config和applicationhost.configthe .vs文件夹中映射了相同的端口.我应该注意,升级后问题并没有立即开始.它只是一天早上开始失败.一对夫妇重新启动似乎也没有解决问题.
从存储在我的文档中的站点中删除冲突的站点并重新启动Visual Studio解决了该问题.
小智 7
就我而言,执行以下操作就达到了目的:
当我重新启动 Visual Studio 时,它为项目分配了一个全新的端口号并完美运行
更新 Windows 10 和/或 Visual Studio 16+ 后,可能由于IISExpress 不再接受连接而无法注册任何开发网站的内部错误而发生localhost。
要解决此问题,您只需重新注册绑定即可。为此,请从管理 shell 运行以下命令:
netsh http add iplisten ipaddress=::
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38753 次 |
| 最近记录: |