Включение неуправляемой отладки может иметь полезный побочный эффект, если у вас также есть PDB и исходный код для компонента.Вы не делаете, поставщики таких компонентов не раскрывают это.Единственная причина, по которой вы можете что-либо увидеть, заключается в том, что вы позволили VS сгенерировать сборку взаимодействия для компонента COM.Который преобразует объявления в библиотеке типов для компонента в эквивалентные типы .NET.Как и IGeometry, скорее всего, на самом деле класс C ++ под капотом.
Что является большой разницей между видом сверху и снимками экрана снизу.Начиная с VS2010 и .NET 4.0, эта сборка взаимодействия больше не нужна.Вызывается «внедрение типа», как правило, очень полезная функция, она позволяет избежать необходимости развертывания PIA для компонента.Это особенно важно для взаимодействия с Office.
Тип, встраивающий агрессивно удаленные типы и элементы, которые не используются в исходном коде.То, что осталось, встроено в вашу окончательную сборку, что устраняет необходимость развертывания сборки взаимодействия или PIA.Или, другими словами, вы не можете увидеть IGeometry.Envelope обратно в отладчике, потому что ваш исходный код не использует это свойство.Он был раздет по типу встраиваемой сантехники.
Это легко исправить.Выберите ссылку COM в узле Reference вашего проекта и установите для его свойства "Embed Interop Types" значение False.После тестирования вы можете оставить все как есть, не забудьте также развернуть сборку взаимодействия.