我们的程序有多个部分(前端 npm、后端和一个解决方案中的多个可执行文件)。总是打开所有这些并手动运行它们是很乏味的,所以我试图制作一个bat脚本来为我运行它们。这包括构建和运行后端以及可执行文件在调试模式下。可执行文件驻留在单个解决方案中,但它由需要同时运行的多个项目组成。它被配置为在运行解决方案时启动所有需要的项目
我还想同时启动这三个解决方案,因此脚本不会等待它们各自启动,而是同时启动它们。
我查找了如何从命令行使用 Visual Studio。
我还发现了有关从命令行运行 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
看起来您已经有了一个解决方案来运行您的应用程序...有一个扩展可以让您调试多个进程:https://github.com/karpach/debug-attach-manager
如果您确实需要在启动进程时调用调试器,我建议使用批处理脚本的不同方法。您可能只想为所有进程设置一个调试会话,而不是为每个进程设置单独的会话。在这种情况下,您最好创建一个生成子进程的简单启动器应用程序。它会完成与批处理脚本相同的工作,但附加调试器会容易得多。