Refactor the types in ProjectSystem/VS/HotReload to isolate the VS dependencies behind a new interface, and then move the implementation down to the Microsoft.VisualStudio.ProjectSystem.Managed project.
This is being put on-hold for the moment. Some types have no non-VS equivalents. Also, note that dotnet watch has its own implementation of IDeltaApplier.
Refactor the types in ProjectSystem/VS/HotReload to isolate the VS dependencies behind a new interface, and then move the implementation down to the Microsoft.VisualStudio.ProjectSystem.Managed project.