in rider/src/main/kotlin/com/jetbrains/aspire/rider/sessions/projectLaunchers/DotNetSessionWithHotReloadProcessLauncher.kt [23:54]
override suspend fun modifyDotNetExecutable(
executable: DotNetExecutable,
sessionProjectPath: Path,
launchProfile: String?,
lifetime: Lifetime,
project: Project
): Pair<DotNetExecutable, ProgramRunner.Callback?> {
val runnableProject =
project.solution.runnableProjectsModel.findBySessionProject(sessionProjectPath) { it.kind == RunnableProjectKinds.DotNetCore }
?: return executable to null
val hotReloadRunInfo = RuntimeHotReloadRunConfigurationInfo(
DefaultRunExecutor.EXECUTOR_ID,
project,
runnableProject,
executable.projectTfm,
null
)
val profile = if (!launchProfile.isNullOrEmpty()) {
LaunchSettingsJsonService
.getInstance(project)
.loadLaunchSettingsSuspend(runnableProject)
?.let { it.profiles?.get(launchProfile) }
} else null
if (!hotReloadExtension.canExecute(lifetime, hotReloadRunInfo, profile)) {
return executable to null
}
return hotReloadExtension.execute(executable, lifetime, project)
}