Профиль клиента.NET Framework 3.5 - отсутствует метод System.Windows.Threading.Dispatcher.BeginInvoke(System.Delegate, System.Object[])
Мое приложение предназначено для профиля клиента.NET Framework 3.5, и моя установка настроена для установки этой платформы с помощью онлайн-установщика, но иногда (при 3 пользователях из 12000) приложение выдает следующее исключение:
Method not found: 'System.Windows.Threading.DispatcherOperation System.Windows.Threading.Dispatcher.BeginInvoke(System.Delegate, System.Object[])'
Я также получаю следующее предупреждение от инструмента анализа кода Visual Studio 2010:
Warning CA1903 : Microsoft.Portability : Member
'Settings.SearchForApplicationRelease_bgWorker(object, DoWorkEventArgs)' uses member 'Dispatcher.Invoke(Delegate, params object[])'. Because this member was introduced in
.СЕТЬFramework 3.0 Service Pack 2, which was not included in the project's target
framework, .NET Framework 3.5, your application may fail to run on systems without this
service pack installed.
Я пробовал на нескольких системах, но я не могу воспроизвести это исключение.
Как я могу это исправить?
Есть ли вероятность того, что пользователи имеют поврежденную версию.NET Framework?
Спасибо космин
1 ответ
В документации Microsoft говорится, что этот метод совместим с.NET 3.0 и выше. Однако Micosoft .NET 3.5 sp(0) ->Not service pack 1<- не работает и не поддерживает методы BeginInvoke. Есть другие проблемы с.NET 3.5 sp (0), и его следует удалить из существования. Вам нужно будет принудительно установить обновление до.NET 3.5 sp (1), чтобы этот метод работал.