Проверка COM-объектов в отладчике VS 2017 - PullRequest
0 голосов
/ 04 августа 2020

В настоящее время я переношу надстройку VBA powerpoint на VSTO.

В течение нескольких недель я боролся с Visual Studio degug для COM-объектов. Как вы можете видеть на изображении ниже, типы объектов показывают {system._ComObject}, и проверка объектов становится сложной задачей, поскольку необходимо использовать динамическое c представление, что, на мой взгляд, довольно неудобно.

Отладка COM-объектов

Осмотревшись, я обнаружил рекомендацию активировать опцию «использовать режим совместимости управляемого кода» в общих настройках отладки, как вы можете видеть на Настройка отладки Я также последовал другой рекомендации установить для свойства «Embed interop Types» во всех ссылках, связанных с моим офисом, значение false.

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

Я был почти в раю. Мой экстаз длился до тех пор, пока я не попытался изменить какой-то код во время отладки, и визуальная студия сообщила мне, что «режим управляемой совместимости не поддерживает редактирование и продолжение».

Теперь я снова в аду. С редактированием и продолжением я пропускаю достойный осмотр COM-объекта. С проверкой COM я не могу изменить код во время отладки.

Эта ситуация выглядит неудобной, и я ожидал бы большего от VS 2017.

Кто-нибудь знает, как я могу получить достойную проверку COM, отредактировать и продолжить на одновременно?

1 Ответ

0 голосов
/ 05 августа 2020

Кто-нибудь знает, как я могу получить приличную проверку COM, редактировать и продолжать одновременно?

Боюсь, что вы не сможете получить то, что хотите.

Начиная с , вы просто отлаживаете com-объект, который больше похож на оптимизированный, смешанный или SQL код интеграции среды CLR (использование) сервера, как в официальном документе сказано: Функция Edit and Continue не поддерживает его.

Обычно , для отладки этих смешанных кодов в VS необходимо включить Используйте режим управляемой совместимости или , чтобы включить отладку собственного кода , но эти параметры не могут хорошо работать с Изменить и продолжить , как сказано в официальном документе.

Вы можете проверить этот документ , чтобы узнать о неподдерживаемых изменениях или поддерживаемых изменениях кода.

Итак, для вашей проблемы нет такой возможности использовать их оба.

В качестве предложения вы должны сломать отладку p Сначала внесите некоторые изменения в свой код. Затем запустите отладку, чтобы отладить новые изменения.

Помимо , если вам все еще нужна эта функция, вы можете предложить функцию на нашем форуме голосовых пользователей . Команда внимательно проверит ваш запрос и надеется, что они дадут вам удовлетворительный ответ.

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