I have a Visual Studio C# project, and I would like to run/debug multiple instances of that project with different launch profiles for each instance. As this is something that I will be doing very frequently, it's important that I be able to run the projects with as few clicks/keystrokes as possible, ideally just 1.
I am aware of a handful of "almost" solutions that don't quite work, so I'll mention those and why they don't work for me:
It is possible to run multiple projects simultaneously when clicking the run/debug buttons, but this dialog does not appear to allow me to run multiple instances of the same project.
It is possible to right-click on the project and select Debug->Start New Instance, but Visual Studio doesn't allow me to change the launch profile while already debugging. (Plus that's a lot more clicks than I'd like.)
It is possible to start the project multiple times and then attach the debugger to each later, but I need the debugger attached to each from the very beginning. (Plus that's also a lot more clicks than I'd like.)
There is the very handy SwitchStartupProject Visual Studio extension, but I have been unable to get it to successfully launch multiple instances of the same project.
It is possible to run multiple instances of Visual Studio, but that will hog a ton more resources and, yet again, require too many clicks.
It is possible to create a "dummy" project that runs the EXE of the main project. This is the closest solution I've found, but it has the problem that it's tied to the location of the EXE built by the main project, so if I change the main project from Debug->Release (or vice-versa) then I have to first select the dummy project, swap its own launch profile to one that points at the correct EXE location, and swap back. This is a lot more work than I'd like to do for something I have to do so frequently. (In theory I could change both the Debug & Release configurations of the main project to output to the same location, but I have other tooling that assumes the default output locations.)
This is very easy to do if using Jetbrains Rider, but of course that requires switching to Rider, which is not something I'm ready to do right now.
Any ideas?