Я пишу надстройку для Visual Studio 2017. Я использую следующее:
Dispatcher.CurrentDispatcher.Invoke(()=>
{
// ...
});
Но я продолжаю получать предупреждение компилятора: VSTHRD001 Avoid legacy thread switching methods
и, поскольку я могу быть немного одержимым, яисследовал предупреждение и применил «исправление»:
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 настаивает , это не ошибка .
Я использую Visual studio 15.7.3 и это dll в C: \ Program Files (x86) \Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ IDE \ PrivateAssemblies - версия 15.6.27-бета + gca ...
Есть идеи?Да Dispatcher.CurrentDispatcher.Invoke
отлично работает.