Edit & Continue работает только при использовании "Запустить внешнюю программу", но не прилагается к процессу

У меня есть проект Excel-DNA в C# с использованием.NET 4.0 с использованием Visual Studio 2010/2015.

Если я запускаю Debug и использую функцию "Запускать внешнюю программу" для запуска EXCEL.exe, я могу приостановить отладчик, и Edit & Continue работает отлично.

Однако, если я пытаюсь подключиться к запущенному процессу EXCEL.exe, я получаю сообщение об ошибке, в котором говорится, что Edit & Continue не поддерживается по одной из различных причин. При выборе присоединения к процессу у меня выбран только "Управляемый (v4.6, v4.5, v4.0)".

Сообщение об ошибке гласит:

Changes are not allowed in the following cases:
- Attached to a process that does not support Edit and Continue on attach.
- The code being debugged was optimized.
- The assembly being debugged is loaded as domain-neutral.
- The assembly being debugged was loaded through reflection.
- Intellitrace events and call information is enabled.
- The .NET Runtime this program is running does not support edit and continue.

В чем разница между этими двумя сценариями? Что делает "Запуск внешней программы" иначе, чем ручное подключение?

1 ответ

Решение

Это хорошо задокументировано:

Редактировать и продолжить недоступно в следующих сценариях отладки:

  • Отладка приложения с помощью "Присоединить к", а не запускать приложение с помощью "Пуск" из меню "Отладка".

Обходной путь, который вы нашли с помощью параметра "Запустить внешнюю программу", является правильным подходом.

Другие вопросы по тегам