Multithreading Visual Studio独立Shell:从另一个线程向错误工具窗口添加错误

Multithreading Visual Studio独立Shell:从另一个线程向错误工具窗口添加错误,multithreading,visual-studio,dsl,vsix,Multithreading,Visual Studio,Dsl,Vsix,我有一个关于Visual Studio 2013独立Shell项目中的ValidationContext的问题 我在另一个线程上使用编译器,并希望通过以下方式将验证错误添加到visual studio shell的错误工具箱窗口: context.LogError(errorDescription, cRuleCompilationErrorCode, modelElements); 来自其他线程的此调用不会填充错误工具窗口。我还试图通过来自MPF的ThreadHelper调用LogError

我有一个关于Visual Studio 2013独立Shell项目中的ValidationContext的问题

我在另一个线程上使用编译器,并希望通过以下方式将验证错误添加到visual studio shell的错误工具箱窗口:

context.LogError(errorDescription, cRuleCompilationErrorCode, modelElements);
来自其他线程的此调用不会填充错误工具窗口。我还试图通过来自MPF的ThreadHelper调用LogError方法,但也没有任何结果。(我想我应该在UI线程上调用该方法)

如果有人知道如何从另一个线程填充错误工具窗口,我将非常感激


Thx Manuel

你能解释一下什么是
上下文
吗;是否使用
ErrorListProvider
填充错误?上下文是验证方法的ValidationContext。因此,有两种(据我所知,可能还有更多)可能将错误添加到错误列表中。1.通过错误列表提供程序2。验证方法由框架调用,错误可以添加到传递给验证方法的ValidationContext中。
  ThreadHelper.Generic.Invoke(() => context.LogError(errorDescription, cRuleCompilationErrorCode, modelElements));