2010-11-01 4 views
1

Je reçois l'exception 'Le thread appelant doit être STA, car de nombreux composants d'interface utilisateur l'exigent.' Ce qui est stupide parce que le constructeur qui donne l'exception EST APPELÉ DE DANS UN FIL DE STA!Exception de thread STA hors de bleu dans l'application WPF

Je suis vraiment au bout du rouleau. Quelqu'un d'autre a-t-il rencontré ce problème?

+0

Publiez du code, et/ou expliquez ce que vous faites lorsque cette exception est levée. –

Répondre

1

La réponse était que c'était un peu ennuyeux, mais cela a fonctionné.

J'ai découvert à mon immense dégoût que l'état de mon thread directement à l'intérieur de ma fonction principale était MTA malgré mon utilisation de l'attribut STAThread. Apparemment, le thread de débogage qui a appelé mon point d'entrée a décidé de remplacer l'attribut et d'en faire un thread MTA. La solution était alors de créer un autre thread et d'exécuter mon application depuis l'intérieur. Je l'ai fait et ça a marché. Je déteste ça, mais personne d'autre ne semble avoir ce problème.

C'est peut-être la façon géniale dont j'ai configuré mon projet. Autrement dit, pour être exécuté à partir d'une application MFC (ne peut pas être aidé) ciblant .Net 3.5 même si c'est dans Visual Studio 2010.

Quoi qu'il en soit, cela fonctionne.

Questions connexes