Редактировать исходный код при отладке - PullRequest
9 голосов
/ 17 сентября 2008

У меня VS2005, и я сейчас пытаюсь отладить веб-приложение ASP.net. Я хочу изменить код в коде файла, но каждый раз, когда я останавливаюсь на точке останова и пытаюсь что-то отредактировать, я получаю следующее сообщение об ошибке: «Изменения не допускаются, когда отладчик присоединен к уже запущенному процессу или отлаживаемый код оптимизирован. "

Я почти уверен, что у меня включены все опции «Редактировать и продолжить». Есть предложения?

Ответы [ 7 ]

17 голосов
/ 17 сентября 2008

Это может показаться нелогичным, но включите редактирование и продолжайте работу.

Может быть другое «разрешить мне редактировать файлы только для чтения» или «разрешить редактировать, даже когда я отлаживаю ... нет, правда!» установка где-то, но у меня нет 2005 года, чтобы посмотреть, чтобы проверить.

В 2008 году отключите редактирование и продолжайте, и вы можете редактировать во время его работы (но эти изменения не применяются.)

Если вы действительно хотите использовать редактирование и продолжить, вы также должны включить его для проекта на вкладке «Интернет» настроек проекта.

6 голосов
/ 17 сентября 2008

Приложение фактически запускается из скомпилированной версии вашего кода. Если вы измените его, ему придется перекомпилировать его, чтобы изменения вступили в силу, а это означает, что для новой скомпилированной версии потребуется поменять работающую версию. Это довольно сложная проблема, поэтому я думаю, что Microsoft сделала это невозможным. Это больше, чтобы защитить вас от ДУМАЮ, что некоторые изменения были сделаны, когда они действительно не были.

2 голосов
/ 01 ноября 2008

Для Asp.net можно думать о двух типах «редактировать и продолжить».

One - это классическое редактирование и обновление браузера. Это работает, потому что обновление браузера перекомпилирует все, кроме предварительно скомпилированного кода за файлами. Это не называется «Редактировать и продолжить», хотя на практике это обеспечивает аналогичный эффект. В этом режиме вы не можете изменять код за файлами, потому что они были предварительно скомпилированы и развернуты, но вы можете изменить что угодно.

Другой режим позволяет вам изменять предварительно скомпилированный код за файлами, но не более ... (это режим, который упоминает Крис Билсон, который необходимо установить в свойствах проекта для ASP.Net). В этом случае вы используете функцию «Редактировать и продолжить» отладчика, который очень мало знает о ASP.net. Отладчик просто видит загруженную сборку .Net и может изменить ее при остановке в отладчике, поскольку в решении есть проект, который утверждает, что знает, как его построить. В этом случае вам запрещено изменять вещи, которые иначе могли бы испортить сеанс отладки. Однако этот метод является единственным способом изменить код во время его выполнения, а не требовать обновления браузера.

1 голос
/ 11 июня 2010

Я ищу это в Visual Studio 2008 WAP (Проект веб-приложения), и мне потребовалось два дня, чтобы найти решение, поэтому здесь мы надеемся, что это поможет кому-то еще:

Необходимо проверить два местоположения: одно в меню tools-options-debugging-Edit и Continue-Enable Edit и Continue, другое - правой кнопкой мыши project-properties-Web-Enable Edit and Continue

1 голос
/ 17 сентября 2008

Вам разрешено вносить изменения в файл *.aspx во время его работы, и вы можете нажать обновить в своем веб-экземпляре, чтобы немедленно увидеть эти изменения. Однако вы не можете вносить изменения в файлы *.cs/*.vb или *.designer.cs/*.designer.vb во время работы программы.

0 голосов
/ 04 октября 2010

Для справки, у меня была похожая проблема с VS 2008, и другое решение решило проблему для меня. Редактирование кода в Visual Studio 2008 в режиме отладки

0 голосов
/ 13 мая 2010

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

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