无法启动IIS Express Web服务器 - 注册URL失败 - 当文件已经存在时无法创建文件 | VS Community 2017。

7
在VS Community 2017 (v15.9.26)中,我无法进行调试,因为IIS Express Web服务器会产生以下错误。
IIS Express的输出:无法为网站注册URL“localhost:xxxxx/”。错误描述:当该文件已经存在时无法创建文件。(0x800700b7)

enter image description here

尝试解决问题的步骤:

  1. 清理、重建、重新启动VS、重新启动计算机
  2. 删除IISExpress文件夹并重新运行VS SA Source
  3. 删除.vs文件夹并重新运行VS
  4. 创建一个新的虚拟目录SA Source
  5. 在新目录中重新克隆代码并从头开始
  6. 运行netsh http show urlacl显示没有其他进程使用端口
  7. 从VS AppData中移除ComponentModelCache
  8. 重新安装VS Community 2017
  9. 使用更新路径引用实现了已确认可工作的applicationhost.config,仍然存在相同的端口问题。
  10. 重新安装IIS 10.0 Express
  11. 关闭防病毒软件

需要注意的是,我有三个启动项目正在运行。其中两个项目(使用不同的端口)运行良好,因此可以排除防火墙或SSL问题。第三个启动应用程序只产生这个错误。

在尝试了所有7个步骤并多次重启电脑后,我陷入了困境。如有任何进一步的解决方案/修复方法,将不胜感激!


出错的端口未列在保留范围中。您建议重新启动winnat服务吗? - M1lls
1
也许需要在端口号上进行试错测试。 - Pepe N O
我假设你是以管理员身份启动VS的。当你执行清理操作时,你是否手动删除bin和obj目录以确保一切都被成功清理了?它需要使用IIS Express吗?尝试切换到本地IIS并点击创建虚拟目录,看看会发生什么。 - Justin Nimmo
1
https://dev59.com/i2435IYBdhLWcg3woRjG - Justin Nimmo
1
是的,它们可以安全删除。标准源代码控制实践表明它们不应该被检入。我很确定它们包含在基本的.gitignore模板中,并且它们将在下一次构建时重新创建。 - Justin Nimmo
显示剩余7条评论
2个回答

2

我找到了两个临时解决方案,以绕过VS错误。

  1. 将不同的端口号分配给应用程序
  2. 在.vs\config\applicationhost.config中注释掉特定的绑定协议

我仍在寻找更可持续的解决方案。


1

尝试检查您的IIS管理器,可能有一个应用程序正在运行地址。

打开IIS管理器,检查站点,可能禁用一个并再次尝试。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接