public async Task ReleaseProjectContextAsync(IWorkspaceProjectContext context) { Requires.NotNull(context, nameof(context)); lock (_contexts) { if (!_contexts.Remove(context)) { throw new ArgumentException("Specified context was not created by this instance, or has already been unregistered."); } } // TODO: https://github.com/dotnet/roslyn-project-system/issues/353 await _commonServices.ThreadingService.SwitchToUIThread(); context.Dispose(); }
public async Task ReleaseProjectContextAsync(IWorkspaceProjectContext projectContext) { Requires.NotNull(projectContext, nameof(projectContext)); _activeWorkspaceProjectContextTracker.UnregisterContext(projectContext); // TODO: https://github.com/dotnet/project-system/issues/353. await _threadingService.SwitchToUIThread(); try { projectContext.Dispose(); } catch (Exception ex) when(_telemetryService.PostFault(TelemetryEventName.LanguageServiceInitFault, ex)) { } }
public void Dispose() => _vsProjectContext.Dispose();