private async Task ProjectUpdatesCoreAsync(object state) { var update = (ProjectSnapshotUpdateContext)state; OnProcessingUpdate(); var snapshot = new DefaultProjectSnapshot(update.HostProject, update.WorkspaceProject, update.Version); var result = await _tagHelperResolver.GetTagHelpersAsync(snapshot, CancellationToken.None); update.TagHelpers = result.Descriptors; }
private async Task ProjectUpdatesCoreAsync(object state) { var update = (ProjectSnapshotUpdateContext)state; // We'll have more things to process here, but for now we're just hardcoding the configuration. var configuration = await _configurationFactory.GetConfigurationAsync(update.UnderlyingProject); update.Configuration = configuration; var result = await _tagHelperResolver.GetTagHelpersAsync(update.UnderlyingProject); update.TagHelpers = result.Descriptors; }
private async void LoadProjectInfoAsync(ProjectViewModel projectViewModel) { try { CurrentProjectInfo = null; IsLoading = true; var solution = _workspace.CurrentSolution; var project = solution.GetProject(projectViewModel.Id); var documents = GetCshtmlDocuments(project); var configuration = await _configurationFactory.GetConfigurationAsync(project); var directives = await _directiveResolver.GetRazorEngineDirectivesAsync(_workspace, project); var assemblyFilters = project.MetadataReferences .Select(reference => reference.Display) .Select(filter => Path.GetFileNameWithoutExtension(filter)); var projectFilters = project.AllProjectReferences.Select(filter => solution.GetProject(filter.ProjectId).AssemblyName); var resolutionResult = await _tagHelperResolver.GetTagHelpersAsync(project); var files = GetCshtmlDocuments(project); CurrentProjectInfo = new ProjectInfoViewModel() { Assemblies = new ObservableCollection <AssemblyViewModel>(configuration.Assemblies.Select(a => new AssemblyViewModel(a))), Directives = new ObservableCollection <DirectiveViewModel>(directives.Select(d => new DirectiveViewModel(d))), Documents = new ObservableCollection <DocumentViewModel>(documents.Select(d => new DocumentViewModel(d))), TagHelpers = new ObservableCollection <TagHelperViewModel>(resolutionResult.Descriptors.Select(t => new TagHelperViewModel(t))), }; } catch (Exception ex) { _errorHandler.Invoke(ex); } IsLoading = false; }