diff --git a/src/BuiltInTools/dotnet-watch/Program.cs b/src/BuiltInTools/dotnet-watch/Program.cs index d6cfaa5b212a..d1a9f54a2596 100644 --- a/src/BuiltInTools/dotnet-watch/Program.cs +++ b/src/BuiltInTools/dotnet-watch/Program.cs @@ -159,8 +159,15 @@ internal Watcher CreateWatcher(IRuntimeProcessLauncherFactory? runtimeProcessLau var projectGraph = TryReadProject(rootProjectOptions, reporter); if (projectGraph != null) { + var rootProject = projectGraph.GraphRoots.Single(); + // use normalized MSBuild path so that we can index into the ProjectGraph - rootProjectOptions = rootProjectOptions with { ProjectPath = projectGraph.GraphRoots.Single().ProjectInstance.FullPath }; + rootProjectOptions = rootProjectOptions with { ProjectPath = rootProject.ProjectInstance.FullPath }; + + if (rootProject.GetCapabilities().Contains("Aspire")) + { + runtimeProcessLauncherFactory ??= AspireServiceFactory.Instance; + } } var fileSetFactory = new MSBuildFileSetFactory(