JetBrains Rider 能否与 IISExpress 一起正常工作?

Posted

技术标签:

【中文标题】JetBrains Rider 能否与 IISExpress 一起正常工作?【英文标题】:Can JetBrains Rider work properly with IISExpress? 【发布时间】:2019-06-20 08:06:48 【问题描述】:

我使用的 JetBrains Rider 是官网的最新版本,2019.1.2(30 天免费试用)。这不是一个损坏的版本。

我有一个包含 ASP.NET Web API csproj 的解决方案。该解决方案在 IIS 或 VS + IISExpress 中正常运行。

和 VS 一样,Rider 也在 .idea 文件夹中创建了一些配置文件。在其中,我可以找到 IISExpress 的 applicationhost.config 文件。

问题是,一旦我在控制台中开始调试,IISExpress 就永远无法启动并显示错误:

**Failed to initialize site bindings**
Error initializing ULATQ.  hr = 80070005
Terminating W3_SERVER object
InitComplete event signalled
Process Model Shutdown called
Waiting for all LISTENER_CHANNELS to stop
Unable to start iisexpress.

我检查了 applicationhost.config 文件。和VS生成的一样。它还有绑定信息行,我确定端口可用:

<bindings>
  <binding protocol="http" bindingInformation="*:8080:localhost" />
</bindings>

问题:Rider 真的可以与 IISExpress 一起正常工作吗?知道如何配置它以及应该更改哪些文件?

【问题讨论】:

关于控制台中的错误信息:我在调试的配置(porgram 参数结束)中添加 /trace:error 参数以查看 IISExpress 详细错误。但似乎仍然不知道发生了什么。 “和vs生成配置一样”,那么你杀掉了所有VS创建的IIS Express进程吗? 是的,我重新启动我的笔记本电脑,并从另一台电脑(已安装 VS)复制“.idea\config\applicationhost.config”文件,它现在也可以工作了。 【参考方案1】:

我终于发现,在 Windows 10 中,似乎是权限问题导致 Rider 无法正常启动 IISExpress。

解决方案:

    确保以管理员身份运行 JetBrains Rider(对我来说最重要的是,IISExpress 可以工作!)

    打开解决方案,右键单击将在 IISExpress 上运行的 Web 项目。

    选择Properties 并转到Web 部分。

    在第一次运行之前检查Generate applicationhost.config

    URL 应该是http://locahost:8080/8080 可以是任何端口。尚未支持任何 IP。)

    选中Anonymous authentication 以允许查看和调试页面。

    第一次运行后取消选中Generate applicationhost.config。 确保 Rider 仍在使用 IISExpress,Propertiesapplicationhost.config 没有任何更改。

只有当 Rider 以管理员身份运行并且Properties 中的设置正确时,IISExpress 才能正常工作。否则,它不会启动或仅返回 HTTP 5XX/4XX。

【讨论】:

当我这样做时,它还会在 .csproj 文件中添加一行,如果我要提交它,它基本上会更新其他所有人的 URL。知道是否有办法解决这个问题吗? 有趣,但我认为以管理员身份运行 IDE 不是一个好主意。【参考方案2】:

谢谢@David Smith,我发现 Generate applicationhost.config in edit Configuration iis here

然后发现这个选项就在这里

【讨论】:

以上是关于JetBrains Rider 能否与 IISExpress 一起正常工作?的主要内容,如果未能解决你的问题,请参考以下文章

未找到 JetBrains Rider 的 Xamarin SDK

JetBrains Rider 中 Visual Studio 的“无需调试即可启动”?

更改调试字体颜色 - Serilog C# .NET Core 3.1 Jetbrains Rider Mac OSX

JetBrains Rider 破解 (ideaIU等等开发工具都通用)2018-02-27

在 JetBrains Rider 中找不到目标框架

JetBrains宣布Project Rider:一款C#跨平台IDE