C# 如何解决错误:无法加载文件或程序集';Microsoft.VisualStudio.Threading';?

C# 如何解决错误:无法加载文件或程序集';Microsoft.VisualStudio.Threading';?,c#,visual-studio,dispatcher,visual-studio-addins,C#,Visual Studio,Dispatcher,Visual Studio Addins,我正在为Visual Studio 2017编写一个外接程序。我使用以下方法: Dispatcher.CurrentDispatcher.Invoke(()=> { // ... }); 但我一直收到编译器的警告:VSTHRD001避免传统的线程切换方法,因为我可能有点痴迷,所以我研究并应用了“修复”: 由于应用了修复程序,该方法甚至不会运行,经过进一步调查,它抛出了错误:“无法加载文件或程序集”Microsoft.VisualStudio.Threading,Version=15.7.

我正在为Visual Studio 2017编写一个外接程序。我使用以下方法:

Dispatcher.CurrentDispatcher.Invoke(()=>
{
// ...
});
但我一直收到编译器的警告:
VSTHRD001避免传统的线程切换方法
,因为我可能有点痴迷,所以我研究并应用了“修复”:

由于应用了修复程序,该方法甚至不会运行,经过进一步调查,它抛出了错误:
“无法加载文件或程序集”Microsoft.VisualStudio.Threading,Version=15.7.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。系统找不到指定的文件。“

我正在使用nuget软件包
,并且在我的app.config中安装该软件包时有绑定重定向:

我已经降级了软件包,甚至尝试更改重定向版本,但都没有用。微软坚称,对于唯一其他类似的相关问题

我使用的是Visual studio 15.7.3,C:\Program Files(x86)\Microsoft Visual studio\2017\Professional\Common7\IDE\PrivateSassemblies中的dll版本是15.6.27-beta+gca


有什么想法吗?是的
Dispatcher.CurrentDispatcher.Invoke
工作得很好。

从0是一个包罗万象的意义上讲,
是否包括15.7.18版(我不认为是这种情况)?您是否尝试过将
newVersion
更改为
15.7.18
15.7.18.0
@MarkusDeibel它不起作用,因为问题与Visual studio附带的版本有关。有效的方法是将
Microsoft.VisualStudio.Threading
降级为15.6.44,绑定重定向为
oldVersion=“0.0.0-15.6.0.0”newVersion=“15.6.0.0”
。现在我有两个新的IDE1002警告,因为分析器组件!多么具有讽刺意味。对于其他人来说,从15.8.145降级到15.6.44对我来说很有效。我在安装AWS工具包后就有了这个。对我来说,最有效的方法是为VisualStudio安装最新的更新。
ThreadHelper.JoinableTaskFactory.Run(()=>
{
  // ...
});