Точки останова в пользовательской форме не обрабатываются при отладке .NET - приложения для AutoCAD 2012 в Visual Studio 2010
Вопрос:
Я пытаюсь создать .NET – приложение для AutoCAD 2012 в Visual Studio 2010. Точки останова в общих классах обрабатываются (то есть при отладке на них происходит остановка), а вот в пользовательских формах не обрабатываются. Я прочитал эту статью: http://through-the-interface.typepad.com/through_the_interface/2010/04/hitting-breakpoints-in-net-class-libraries-while-debugging-with-visual-studio-2010.html. Но она не помогла. Я пробовал и “Autodesk.AutoCAD.ApplicationServices.Application.ShowModalDialog(oForm)” и “oForm.ShowDialog()”, но результат один и тот же. Что еще можно сделать?
Ответ:
Отладчик VS2010 достаточно плохо работает с фиберами (fiber); решение заключается в том, чтобы отключить фибера в AutoCAD .
Если вы еще не в курсе, фибера считаются устаревшими, так как Microsoft прекратила их поддержку в Windows. Для дополнительной информации читайте: http://msdn.microsoft.com/ru-ru/library/ms682661(v=vs.85).aspx
Чтобы отключить их использование, вы можете установить системную переменную NEXTFIBERWORLD в 0, закрываем все документы, и AutoCAD будет работать без фиберов в новых документах. Системная переменная FIBERWORLD может показать текущее состояние фибера.
Но тут возможен побочный эффект при использовании NEXTFIBERWORLD = 0 - может перестать работать Лента (Ribbon), то есть когда нажимаем на кнопки на Ленте ничего не происходит. В качестве альтернативного средства можно использовать командную строку.
Это относится и к другим вертикальным продуктам на базе AutoCAD, таким как Civil 3D, ACA, AME, и т.д.
Обсуждение: http://adn-cis.org/forum/index.php?topic=86.0
Отредактировано 14.06.2013 в 04:04:17