/// <summary> /// If the target framework of the project has changed then non .NET Core projects /// that reference this project may need their project builders refreshed so /// that the correct build result occurs. If the new framework is incompatible /// then without the project builder refresh then the build error will not appear /// until the solution is reloaded. /// </summary> public static void OnProjectReload(ProjectReloadedEventArgs reloadEventArgs) { var reloadedProject = reloadEventArgs.NewProject.DotNetProject; foreach (var project in GetAllNonDotNetCoreProjectsReferencingProject(reloadedProject)) { project.ReloadProjectBuilder(); } }
void ProjectReloaded(object sender, ProjectReloadedEventArgs e) { Runtime.AssertMainThread(); try { if (IsDotNetCoreProjectReloaded(e.NewProject)) { OnDotNetCoreProjectReloaded(e); } } catch (Exception ex) { LoggingService.LogError("DotNetCoreProjectReloadMonitor error", ex); } }
void SolutionItemAdded(object sender, SolutionItemChangeEventArgs e) { if (!e.Reloading) { return; } var handler = ProjectReloaded; if (handler != null) { ProjectReloadedEventArgs reloadedEventArgs = ProjectReloadedEventArgs.Create(e); if (reloadedEventArgs != null) { handler(this, reloadedEventArgs); } } }
void OnDotNetCoreProjectReloaded(ProjectReloadedEventArgs e) { DotNetCoreProjectBuilderMaintainer.OnProjectReload(e); RestorePackagesInProjectHandler.Run(e.NewProject.DotNetProject); }
void OnDotNetCoreProjectReloaded(ProjectReloadedEventArgs e) { DotNetCoreProjectBuilderMaintainer.OnProjectReload(e); RestorePackagesInProjectHandler.Run(e.NewProject.DotNetProject, restoreTransitiveProjectReferences: true); }