Из-за синего исключения потока STA в приложении WPF - PullRequest
1 голос
/ 01 ноября 2010

Я получаю исключение «Вызывающий поток должен быть STA, потому что это требуется для многих компонентов пользовательского интерфейса».Что глупо, потому что конструктор, выдающий исключение, вызывается из потока STA!

Я на самом деле в конце моей веревки.Кто-нибудь еще сталкивался с этой проблемой?

1 Ответ

1 голос
/ 09 ноября 2010

Ответ был несколько раздражающим, но это сработало.

К моему огромному отвращению я обнаружил, что состояние моего потока непосредственно внутри моей функции Main было MTA, несмотря на мое использование атрибута STAThread. Очевидно, поток отладки, который вызвал мою точку входа, решил переопределить атрибут и сделать его потоком MTA. Решение состояло в том, чтобы затем создать другой поток и запустить мое приложение из этого. Я сделал это, и это сработало. Я ненавижу это, но, похоже, ни у кого больше нет этой проблемы.

Это может быть забавный способ настроить мой проект. То есть для запуска из приложения MFC (не может помочь) с таргетингом на .Net 3.5, даже если это в Visual Studio 2010.

В любом случае, это работает.

...