Диагностика, почему не работают атрибуты DebuggerTypeProxy - PullRequest
5 голосов
/ 02 августа 2010

Я пытаюсь упростить работу оболочки для COM-объекта при отладке, добавив атрибут DebuggerTypeProxy - этот атрибут иногда работает (при запуске модульных тестов и т. Д.)..), но не работает, когда я фактически отлаживаю целевой процесс, и я не знаю, почему:

  • Я проверил, чтобы убедиться, что в сборку загружается правильная сборка.окно модулей и даже разобрал сборку, чтобы убедиться, что она правильная и имеет правильные атрибуты и т. д. *
  • Я пытался сделать мои прокси-классы открытыми, но это не имело никакого значения.
  • Я использовал отражение в окне Immediate при отладке своего внешнего процесса и увидел, что определенный мной атрибут выглядит корректным.

Другие классы, для которых определены атрибуты DebuggerTypeProxy(в той же сборке), кажется, работает нормально - я просто не могу понять, почему

  • Есть ли другая причина, почему мой отладчикАтрибут erTypeProxy не будет работать в целевом процессе?
  • Существуют ли другие способы отладки / устранения неполадок, по которым атрибут не действует?

Ответы [ 5 ]

2 голосов
/ 01 октября 2010

У меня была такая же проблема, и я нашел ответ, сняв флажок «Показать необработанную структуру объектов в окнах переменных» в меню «Инструменты»> «Параметры»> «Отладка»> «Общие параметры».

1 голос
/ 14 октября 2011

В приложении Asp.net проблема была в безопасности доступа к коду.Когда приложение запускалось с полным доверием, все было в порядке.С частичным доверием - атрибуты DebuggerTypeProxy не работают

1 голос
/ 26 августа 2010

Учитывая, что вы работаете в Visual Studio 2010, я подозреваю, что эта проблема связана с функцией «Встраивать типы взаимодействия».Попробуйте отключить Embed Interop Types и повторить свое решение.

  • Перейдите к элементу «Ссылки» в обозревателе решений.
  • Выберите каждую ссылку
  • . Откройте сетку свойств
  • .false
  • Перестройте

Затем повторите сценарий.

0 голосов
/ 10 января 2018

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

0 голосов
/ 05 декабря 2013

Я тоже наткнулся на эту проблему.

DebuggerTypeProxy некорректно работал в Medium Trust.

Проблема была решена путем перемещения класса DebuggerTypeProxy из частного вложенного класса (в классе контейнера, для которого он является прокси-сервером отладчика)внутренний класс непосредственно под пространством имен (не вложенный).

На всякий случай, если кто-то другой также наткнется на ту же проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...