为何Rider无法在IIS中同时运行共享端口的多个.NET Framework应用?
同一IISExpress站点下多项目在Rider中的运行问题
项目csproj配置
- Project1的配置片段:
... <IISUrl>localhost:xyz/</IISUrl> ...
- Project2的配置片段:
... <IISUrl>localhost:xyz/Playground</IISUrl> ...
Visual Studio 中的正常行为
在VS中,上述配置可正常运行:两个项目会被注册到IISExpress的同一站点下作为不同的应用程序,路由功能完全符合预期。
Rider 中的异常情况
无论是先后启动两个项目,还是通过多启动项目功能运行,两个应用虽能启动,但只有Project1能在IIS中正常注册。Project2会触发以下错误:
- 首次报错:
URL注册失败:无法创建已存在的文件,原因是它尝试使用Project1的根URL创建新站点; - 后续尝试用正确路径注册时,又会出现
访问被拒绝错误;
最终仅Project1可正常工作。
编辑1
VS生成的applicationHost.config文件能正确将两个项目归到同一站点下,但Rider生成的该文件会把它们拆分成独立站点。手动覆盖错误配置后,Rider会自动重新生成覆盖回去。
编辑2
通过复制VS生成的正确配置,并在各csproj中设置禁用Rider自动生成applicationHost.config的选项,当前问题已解决,但希望找到不依赖Visual Studio的解决方案。
编辑3
该问题已向JetBrains反馈,但相关问题发布已超10年仍无进展,不期待近期能有官方更新。
内容的提问来源于stack exchange,提问作者djsoteric
相关产品推荐
相关产品推荐

