void OnAssemblyRefreshed(object sender, RefreshAssemblyEventArgs e) { lock (lockObj) { int index = Array.IndexOf(this.references, e.OldAssembly); if (index >= 0 && e.NewAssembly != null) { this.references[index] = e.NewAssembly; projectContent = projectContent.RemoveAssemblyReferences(e.OldAssembly).AddAssemblyReferences(e.NewAssembly); SD.ParserService.InvalidateCurrentSolutionSnapshot(); SD.MainThread.InvokeAsyncAndForget( delegate { assemblyModel.UpdateReferences(projectContent.AssemblyReferences.Select(ResolveReferenceForAssemblyModel).Where(r => r != null).ToList()); }); } } }
void OnAssemblyRefreshed(object sender, RefreshAssemblyEventArgs e) { lock (lockObj) { int index = Array.IndexOf(this.references, e.OldAssembly); if (index >= 0 && e.NewAssembly != null) { this.references[index] = e.NewAssembly; projectContent = projectContent.RemoveAssemblyReferences(e.OldAssembly).AddAssemblyReferences(e.NewAssembly); SD.ParserService.InvalidateCurrentSolutionSnapshot(); assemblyModel.UpdateReferences(projectContent.AssemblyReferences .Select(ResolveReferenceForAssemblyModel).Where(r => r != null).ToList()); } } }