private void BuildEvents_OnBuildBegin(vsBuildScope scope, vsBuildAction action) { _tasks.Clear(); if (!_configuration.ShowErrorsInErrorList) { return; } var errorCategory = _configuration.TaskErrorCategory; var cultures = _resourceManager.Cultures; foreach (var entry in _resourceManager.TableEntries) { foreach (var culture in cultures) { if (entry.GetError(culture, out var error)) { var task = new ResourceErrorTask(entry) { ErrorCategory = errorCategory, Category = TaskCategory.BuildCompile, Text = error, Document = entry.Container.UniqueName, }; task.Navigate += Task_Navigate; _tasks.Add(task); } } } }
public void SetEntries(ICollection <ResourceTableEntry> entries, ICollection <CultureKey> cultures, int errorCategory) { _errorListProvider.SuspendRefresh(); try { _tasks.Clear(); var errorCount = 0; foreach (var entry in entries) { foreach (var culture in cultures) { if (!entry.GetError(culture, out var error)) { continue; } if (++errorCount >= 200) { return; } // Bug in VS2022: : this is the call that is responsible for the exception: 'Could not load type 'Microsoft.VisualStudio.Shell.Task' from assembly 'Microsoft.VisualStudio.Shell.15.0, Version=17.0.0.0 var task = new ResourceErrorTask(entry) { ErrorCategory = (TaskErrorCategory)errorCategory, Category = TaskCategory.BuildCompile, Text = error, Document = entry.Container.UniqueName, }; task.Navigate += Task_Navigate; _tasks.Add(task); } } } finally { _errorListProvider.ResumeRefresh(); } }