На сколько я могу судить - эта опция ни коем случаем не может повлиять на работу плагина в автокадеА есть понимание, что делает эта опция? Я не могу найти даже толкового описания, какие действия с кодом выполняются, если она включена.
В debug отключена, в release включена. Разницы в глюках не наблюдаю...Я правильно понимаю, что отладку ведёте в Debug, а окончательную сборку в Release и проблем никогда не было?
Какие сообщения на прощание выдает Автокад? Не успевает обработчик исключений выдать свое окошко?Сообщение - простое окошко фатальной ошибки без подробностей.
Под отладчиком тот же эффект?Попробовал в режиме Debug поставить галочку оптимизации (дичь, конечно же, но почему бы и нет?). Ошибку словил. Но т.к. код в DLL оптимизирован, он отличается от кода в Visual Studio и значения переменных не посмотреть в момент возникновения ошибки. Вообще не факт, что ошибка именно в этой строке.
какие функции/классы API под подозрением?Судя по месту возникновения ошибки и по трассировке стека, под подозрением Dispose для объекта Curve3d.
А на вид абсолютно безобидный код... Ну да, DisposableWrapper.Dispose() - это как раз то место с которого все "случайные" креши и начинаются... А у вас там наверно при оптимизации using закрывается чутка раньше. Думаю, если б дуга где-то использовалась позже, то и фатала не было.Да тут сложно как-то идентифицировать точную причину. Да и сама ошибка сильно рандомно появляется. Иногда двух-трёх перемещений ручки у объекта достаточно, а иногда таскаешь эту ручку туда-сюда, поглядывая на часы в углу экрана: "ага, минута прошла... может в этот раз не выскочит ошибка, может она пропала? а не, вот она, родимая" :)