【问题标题】:Visual Studio Solution with API and SPA - how to run at the same time带有 API 和 SPA 的 Visual Studio 解决方案 - 如何同时运行
【发布时间】:2020-06-20 16:14:09
【问题描述】:

我有一个包含两个项目的 Visual Studio 解决方案。这两个项目都使用 .net 框架 4.7.2。一个项目是 SPA(单页应用程序),另一个是 API Web 项目。在 VS 中,当我启动任一项目的实例时,我可以通过 Visual Studio 使用 IISExpress 导航到本地主机。但是,我不能同时运行两者以通过 SPA 访问 API。我使用 IIS Express 命令行做了很多事情,试图让它工作,但无济于事。有人可以指出我正确的方向吗?

谢谢

【问题讨论】:

  • 您的问题解决了吗?如果您的问题解决了,那么我请求您将有用的建议标记为答案。这将帮助面临同样问题的其他人。

标签: asp.net iis asp.net-web-api iis-express


【解决方案1】:

默认情况下,单个项目选择配置为启动项目,但您也可以设置多个项目。要在 Visual Studio 中一次启动多个项目,您可以按照以下步骤操作:

1) 打开 Visual Studio 并转到解决方案资源管理器。

2)点击属性

3)默认情况下,将单个项目设置为启动项目。

4)选择多个项目选项,将需要启动的项目状态更改为启动。

5)运行应用程序,你会看到浏览器中加载了两个项目。

【讨论】:

    【解决方案2】:

    这可以使用解决方案的“多个启动项目”属性来完成。

    请访问以下文档以获取分步说明

    https://docs.microsoft.com/en-us/visualstudio/ide/how-to-set-multiple-startup-projects?view=vs-2019

    【讨论】:

      【解决方案3】:

      这里有一些步骤: 1.右键单击解决方案名称。 2. 单击属性。 3. 在常用属性下选择“启动项目”。 4.在多个启动项目上选择。 5.将两个项目的action从none改为'start',然后点击apply和ok。 6. 之后点击开始图标就可以正常运行项目了。

      link供参考。

      【讨论】:

        【解决方案4】:

        最后我能够弄清楚如何使用 IIS Express 同时运行两者。我在 C:\Users\XXX\Documents\IISExpress\config 中编辑了应用程序 applicationhost.txt (用大写字母编辑个人数据)

        <sites>
                    <site name="API" id="999">
                        <application path="/" applicationPool="Clr4IntegratedAppPool">
                            <virtualDirectory path="/" physicalPath="C:\Users\XXX\source\repos\YYY\YYYZ" />
                        </application>
                        <bindings>
                            <binding protocol="http" bindingInformation="*:1132:localhost" />
                        </bindings>
                    </site>
                <site name="FrontEnd" id="989">
                        <application path="/" applicationPool="Clr4IntegratedAppPool">
                            <virtualDirectory path="/" physicalPath="C:\Users\XXX\source\repos\XXX\XXXZ" />
                        </application>
                        <bindings>
                            <binding protocol="http" bindingInformation="*:8080:localhost" />
                        </bindings>
                    </site>
                </sites>
        

        【讨论】:

        • 如果您的问题得到解决,请将帖子标记为答案,它将帮助其他面临类似问题的人。
        猜你喜欢
        • 2012-12-21
        • 2015-11-28
        • 1970-01-01
        • 1970-01-01
        • 2015-11-28
        • 2016-09-18
        • 1970-01-01
        • 2011-01-03
        • 1970-01-01
        相关资源
        最近更新 更多