2013-07-12 2 views
0

У меня есть такой кусок кода:ArgumentOutOfRangeException в SetApartmentState

var t = new Thread(ShowStatus); 
t.SetApartmentState(ApartmentState.STA); 

И как только я получил исключение ArgumentOutOfRangeException на второй линии. Как это возможно? И что я могу сделать, чтобы это не случилось позже?

Заранее благодарен!

+1

Вы отлаживаете свой собственный проект? Или отладка некоторых exe, построенных на какой-либо другой машине (ваш сервер сборки)? Если ваши символы неверны, он может показать неправильную строку исходного кода, где исключение встречается в отладчике. – YK1

+0

Я использую .exe, построенный на сервере сборки. Так в моем случае, может быть, проблема в какой-то другой строке кода? – jfgi

+1

Спросите свою команду сборки, хранят ли они символы для каждой сборки. Получите эти символы, он покажет вам правильную строку кода. Но в любом случае, когда вы получаете исключение, см. Исключение стека внутри исключения, оно может дать вам еще несколько подсказок. – YK1

ответ

0

Отладчик может показать неправильную строку исходного кода, если символы неверны. Проверьте источник исключений из трассировки стека в исключении.

Смежные вопросы