设置多个启动项目
使用 Visual Studio 可以指定在按 F5(开始调试)或 Ctrl+F5(不带调试启动)或者使用工具栏按钮来启动应用程序时如何运行多个项目。 这样,就可以启动多个站点、应用或服务,这些站点、应用或服务依赖于彼此在调试会话期间正常工作,或者只是在本地运行和测试。
某些项目模板包括已配置为在启动时全部启动的多个项目;例如,React 和 ASP.NET Core 项目类型包括客户端 JavaScript 项目和服务器端 ASP.NET Core 项目,两者在启动时都启动。
设置多个启动项目
在 解决方案资源管理器中,选择解决方案(顶部节点)。
选择解决方案节点的上下文(右键单击)菜单,然后选择 属性。 “解决方案属性页”对话框随即显示。
展开“通用属性”节点,然后选择“启动项目”。
选择 多个启动项目 选项并设置相应的操作。
多项目启动配置文件
可以设置和保存配置文件,以便在多项目解决方案中以预定义状态启动特定项目以供调试。 这简化了使用复杂解决方案的过程,提高了调试效率,并可以轻松地在团队成员之间共享配置。
启用多项目启动配置文件
Visual Studio 2022 17.11 及更高版本中提供了多项目启动配置文件。 若要启用或禁用 多项目启动配置文件 功能,请转到 工具 > 选项 > 预览功能,并切换 启用多启动配置文件的复选框。
创建多项目启动配置文件
打开包含多个项目的 Visual Studio 解决方案。
在解决方案资源管理器中,右键单击解决方案,然后选择“配置启动项目...”。
还可以按 Ctrl +Q(快速启动)并在功能搜索中搜索“配置启动项目”。
这会显示“解决方案属性页”对话框。
在“解决方案属性页”中,单击“通用属性”选项卡,然后选择 “配置启动项目”。
在“配置启动项目”部分,选择“多个启动项目”单选按钮。
单选按钮下方会显示一个列表,其中列出解决方案中的所有项目、是否将项目设置为在你按 F5 时启动,以及每个项目是在调试器下还是没有调试器的情况下启动。
可以使用向上和向下箭头来控制项目启动的顺序。
将每个项目的操作设置为 启动、启动而不调试,或 None,并根据要求选择调试目标。
如果希望通过将配置文件签入源代码管理库,来与其他 Visual Studio 用户共享该配置文件,请启用“共享配置文件”复选框。 启动配置文件将保存到扩展名
.slnLaunch
与解决方案相同的目录中的 JSON 文件中。 共享配置文件 复选框确定配置文件是保存到用户特定的文件(未选中)还是保存到用于源代码管理跟踪的文件,例如在 Git 中(已选中)。下面是
.slnLaunch
文件中配置文件示例:[ { "Name": "Feature Profile", "Projects": [ { "Path": "src\\OrchardCore.Cms.Web\\OrchardCore.Cms.Web.csproj", "Action": "Start" }, { "Path": "src\\OrchardCore\\OrchardCore.DisplayManagement\\OrchardCore.DisplayManagement.csproj", "Action": "Start" }, { "Path": "src\\OrchardCore\\OrchardCore.Data\\OrchardCore.Data.csproj", "Action": "StartWithoutDebugging" }, { "Path": "src\\OrchardCore\\OrchardCore.ContentManagement.Display\\OrchardCore.ContentManagement.Display.csproj", "Action": "Start" } ] } ]
为每个项目配置启动操作后,单击 “确定” 或 “应用”按钮保存配置文件。 创建的启动配置文件显示在工具栏下拉列表中,允许你选择要调试的配置文件。
使用 Docker Compose
计划使用 Docker Compose 在本地计算机上启动容器化项目时,请使用其他方法(启动配置文件)启动多个项目。
以下示例演示了一个解决方案 WebFrontEndA
,其中包含三个项目、一个前端网站、一个 Web API 项目和一个 Docker Compose 项目。 以下屏幕截图显示了如何启动三个项目中的两个:一个是带调试的,一个是不带调试的。
在此示例中和任何其他 Docker Compose 方案中,可以选择 docker-compose
作为单一启动项目,但随后会使用不同的方法来指定要启动的项目或服务。 你将使用 Docker Compose 启动配置文件来确定要启动的服务,以及是否附加调试器,Visual Studio 中有一个不同的对话框用于配置它。 请参阅启动服务子集。 “解决方案属性页”对话框仅用于非容器化解决方案,或者仅在不使用 Docker Compose 管理启动的情况下使用。