It's now easy with the Project Manager extension. (At least this is true in Visual Studio Code, and I suspect it's true in VS, since VS is a super-set of VSC)
This is what I did in VS Code, it should be similar in Visual Studio
Assume you have a Git-type repo set up, and you have a separate and distinct top-level repository for each part of the project that must remain distinct.
In GitHub, (or similar) you create the two repositories needed and import files as necessary.
If the repositories/workspaces already exist on the local development machine, make sure that the repositories are fully up to date.
In Visual Studio code install the Project Manager extension.
On the development machine(s), you create a "top level" folder for the entire project as a whole, then open the folder in VSC.
Then save that folder as a "Project"
At this point you should "clone" the repositories to folders inside the top-level project folders. You clone the repositories to a new location because moving repositories is a PAIN IN THE TUSH and causes nothing but trouble.
Save each cloned repository as a "workspace"
At this point, you have a "project" containing two workspaces.
Move any folders/files that don't get cloned to the new repository location as necessary.
Once you do all this, (it's actually easier than it sounds), you have access to both repositories as independent objects, commits go to the correct repository, yet you can work on them side-by-side, (sort of) if you wish. You do this by opening the second workspace into a new window.
Hopefully this helps.