【问题标题】:Running multiple projects on an IIS Express server in JetBrains Rider在 JetBrains Rider 的 IIS Express 服务器上运行多个项目
【发布时间】:2020-03-28 11:45:32
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

  • 这取决于是用于 ASP.NET Core@.NET Core 还是 ASP.NET@.NET Framework。请你澄清一下好吗?
  • 是我要同时运行的两个ASP.Net Core项目

标签: asp.net iis jetbrains-ide rider


【解决方案1】:

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

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 复选框:

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

【讨论】:

    猜你喜欢
    • 2017-10-11
    • 1970-01-01
    • 2020-09-10
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    相关资源
    最近更新 更多