Почему Visual Studio .net 2008 теряет возможность отладки после добавления файла global.asax? - PullRequest
3 голосов
/ 22 мая 2009

Я не получаю нормальное сообщение об ошибке, говорящее, что отладка не включена, красное сообщение об ошибке. Если я удаляю свой глобальный файл asax, мой код переходит к моей точке останова. Если я добавляю файл обратно, проект выполняется полностью, игнорируя любые точки останова. Вот код внутри моего глобального asax-файла

Открытый класс Global_asax Унаследовано System.Web.HttpApplication

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
    ' Fires when the session is started
    Application("concurentUsers") += 1
End Sub

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
    ' Fires when the session ends
    If Session("loggedout") = Nothing Then
        Application("concurentUsers") += -1
    End If
End Sub

Конечный класс

Так что, как вы можете видеть, это не так много. Я получаю следующее сообщение из Visual Studio при запуске проекта С глобальный файл .asax присутствует

"Следующий модуль был собран либо с включенной оптимизацией, либо без отладочной информации: (путь к моим временным файлам asp.net) Чтобы отладить этот модуль, измените конфигурацию сборки проекта на режим отладки. Чтобы подавить это сообщение, отключите ' Предупреждать, если при запуске нет пользовательского кода 'опция отладчика. "

Я попытался удалить эти временные файлы, но затем проект полностью отключился и получил красное сообщение об ошибке с указанием, и пришлось восстановить из корзины, чтобы вернуть мой проект в порядок. Так что очень раздражает, что мне нужно удалить глобальный файл asax для отладки проекта (и любой связанный с ним код выбросил файлы проекта)

P.S. Все запускается в режиме отладки, а также отмечается как таковой в веб-конфигурации. Как я уже сказал, он прекрасно отлаживается без наличия файла global.asax

Ответы [ 4 ]

1 голос
/ 03 июня 2009

Опубликовать все содержимое global.asax и global.asax.cs (если оно существует). Я предполагаю, что директива Application в верхней части global.asax содержит директиву компилятора или что-то, что вызывает поведение (например, / debug- или / debug: pdbonly может вызывать это поведение).

0 голосов
/ 04 сентября 2009

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

Таким образом, краткий ответ таков: дважды проверьте, что опция «Включить оптимизацию» не отмечена, а «Сгенерировать отладочную информацию:» ​​установлен на полный или только для pbd в расширенных настройках компилятора.

HTH,

Джеймс.

0 голосов
/ 05 июня 2009

Вы можете попытаться очистить вашу временную папку ASP.NET.

Это иногда вызывает проблемы с конфигурацией.

Не удаляйте папку, просто удалите ее содержимое.

0 голосов
/ 23 мая 2009

В качестве дополнительной проблемы вы должны использовать Application.Lock . Также += -1 странно. Вы должны сделать -= 1

Application.Lock()
Application("concurentUsers") -= 1
Application.UnLock()

Не берите в голову написание параллельного.

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