从 Visual Studio 中的命令行以调试模式运行多个项目

问题描述 投票:0回答:1

我们的程序有多个部分(前端 npm、后端和一个解决方案中的多个可执行文件)。总是打开所有这些并手动运行它们是很乏味的,所以我试图制作一个bat脚本来为我运行它们。这包括构建和运行后端以及可执行文件在调试模式下。可执行文件驻留在单个解决方案中,但它由需要同时运行的多个项目组成。它被配置为在运行解决方案时启动所有需要的项目

我还想同时启动这三个解决方案,因此脚本不会等待它们各自启动,而是同时启动它们。

我查找了如何从命令行使用 Visual Studio

  • 我一开始尝试使用 /run 开关,但这只会构建并运行程序而不进行调试,这不是我想要的结果。
  • 我试过看看是否/?比在线文档有更多信息,但它也没有列出对我有好处的选项。
  • 我想使用 /build 选项,然后使用 /debugexe,但随后我必须为所有可执行文件运行它,并且我希望所有项目都从一个调试会话运行。

我还发现了有关从命令行运行 Visual Studio 的各种 stackoverflow 问题,但似乎没有一个问题询问我在这种情况下需要什么。

这是我到目前为止的.bat

@echo off

set "VS_PATH=C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\devenv.exe"

set "PROGRAM_FOLDER=C:\Dev\Repos\Program"
set "PROGRAM_SOLUTION=Program.sln"

set "BACKEND_FOLDER=C:\Dev\Repos\web-backend"
set "BACKEND_SOLUTION=Web-Backend.sln"

set "FRONTEND_FOLDER=C:\Dev\Repos\web-frontend"


@REM EXECUTION ///////////////////////////////////////////////////////////////////
@REM Programs
echo Opening Programs solution folder
cd /d "%PROGRAM_FOLDER%"

echo Build and run solution
"%VS_PATH%" /run "%PROGRAM_SOLUTION%"

@REM Backend
echo Opening Backend solution folder
cd /d "%BACKEND_FOLDER%"

echo Build and run solution
"%VS_PATH%" /run "%BACKEND_SOLUTION%"

@REM Frontend
echo Opening Frontend folder
cd /d "%FRONTEND_FOLDER%"

echo Starting frontend
npm start
batch-file visual-studio-2022
1个回答
0
投票

看起来您已经有了一个解决方案来运行您的应用程序...有一个扩展可以让您调试多个进程:https://github.com/karpach/debug-attach-manager

如果您确实需要在启动进程时调用调试器,我建议使用批处理脚本的不同方法。您可能只想为所有进程设置一个调试会话,而不是为每个进程设置单独的会话。在这种情况下,您最好创建一个生成子进程的简单启动器应用程序。它会完成与批处理脚本相同的工作,但附加调试器会容易得多。

© www.soinside.com 2019 - 2024. All rights reserved.