运行 JetBrains Rider 中 IIS Express 服务器上的多个项目

Running multiple projects on an IIS Express server in JetBrains Rider

我想 运行 使用 JetBrains Rider 在 IIS Express 服务器上的两个项目。

我试过使用复合配置,但找不到在同一台服务器上 运行 两个项目的方法?这在 Rider 中甚至可能吗?在 Visual Studio 中它可以工作,Visual studio 是如何做到的?

我可以对我的本地 .idea 进行任何更改 applicationhost.config 来修复它吗?

谢谢!

绝对可以在 JetBrains Rider 中同时 运行 多个 ASP.NET Core IIS Express 项目。有一个已知问题,它需要一些 additional/manual 设置:RIDER-32933。评论中解释了一种解决方法,我将在此处简要复制。

IIS Express 原生支持运行使用同一个配置文件连接多个站点,Rider 在一定程度上利用了这种能力。唯一的问题是它会在启动每个应用程序时覆盖 IIS 配置,这会导致 IIS Express 杀死任何以前启动的应用程序实例。

根据你的问题,我得出的结论是你已经为你的应用程序创建了适当的 运行 配置,所以我不会在这里解释它(但是如果你 here's a link 到相应的文档需要帮助)。

因此,首先,您需要让 Rider 为您创建合适的 applicationhost.config。为此,运行 您想要 运行 同时 至少一次 的每个配置。例如。如果您有两个应用程序,"WebApplication1: IIS Express" 和 "WebApplication13: IIS Express",您需要分别启动它们一次。

完成后,Rider 将在解决方案文件夹的 .idea/config/applicationhost.config 中生成适当的配置文件。重要部分是:

    <sites>
      […]
      <site name="WebApplication" id="1">
        […]
        <bindings>
          <binding protocol="http" bindingInformation="*:49901:localhost" />
          <binding protocol="https" bindingInformation="*:44375:localhost" />
        </bindings>
      </site>
      <site name="WebApplication13" id="2">
        […]
        <bindings>
          <binding protocol="http" bindingInformation="*:26835:localhost" />
          <binding protocol="https" bindingInformation="*:44339:localhost" />
        </bindings>
      </site>
    </sites>

因此,在您的两个 站点都在此配置中之后,您需要禁止 Rider 触摸该配置。为此,请打开 both 配置的 运行 配置设置并取消选中 Generate applicationhost.config 复选框:

之后,您可以手动启动两个配置(通过选择每个配置并按 运行 按钮),或使用复合配置。调试也可以。