我正在为Visual Studio 2017编写一个加载项。我使用以下内容:
Dispatcher.CurrentDispatcher.Invoke(()=>
{
// ...
});
但我一直收到编译器警告:VSTHRD001 Avoid legacy thread switching methods
因为我有点痴迷,所以我研究了the warning,并应用了#34;修复":
ThreadHelper.JoinableTaskFactory.Run(()=>
{
// ...
});
自应用修复程序以来,该方法甚至无法运行,经过进一步调查,它会抛出错误:'Could not load file or assembly 'Microsoft.VisualStudio.Threading, Version=15.7.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.'
我正在使用nuget包<package id="Microsoft.VisualStudio.Threading" version="15.7.18" targetFramework="net461" />
,我在app.config中安装了包的绑定重定向:<bindingRedirect oldVersion="0.0.0.0-15.7.0.0" newVersion="15.7.0.0" />
我已降级该套餐,甚至尝试更改重定向版本但无济于事。对于唯一其他类似的相关问题,Microsoft坚持it's not a bug。
我使用Visual Studio 15.7.3并且C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ IDE \ PrivateAssemblies中的dll版本为15.6.27-beta + gca ...
有什么想法吗?是Dispatcher.CurrentDispatcher.Invoke
完美无缺。