Это выполняет меня гаек. У меня есть реализованный w/этого веб-сервиса C# использование VS 2008. Я публикую его на IIS. Я изменил сборку конечных версий, таким образом, pdb файлы копируются наряду с dlls в целевой каталог на inetpub.
Также файл web.config имеет debug=true.
Затем я называю веб-сервис, который выдает исключение. Отслеживание стека не содержит номера строки. Я понятия не имею, что я пропускаю здесь, какие-либо идеи?
Дополнительная Информация: Если я запускаю веб-приложение с помощью VS встроенный веб-сервер, это работает, и я получаю номера строки в отслеживании стека. Но если я копирую те же файлы (pdb и dll), который VS, который встроенный веб-сервер использует для IIS, тем не менее номера строки, пропускает в отслеживании стека.
Кажется, что существует что-то связанное с IIS, который игнорирует pdb файлы!
Обновление, Когда я публикую к IIS, все pdb файлы, публикуется под каталогом bin, и все выглядит хорошо. Но когда я перехожу в "C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Файлы" в соответствии с определенным каталогом, связанным с моим проектом, я вижу, что блок (.dll) файлы является всеми там, но нет никаких pdb файлов. Но этого не происходит, если я выполняю проект с помощью VS встроенный веб-сервер. Таким образом, если я копирую pdb файлы вручную во временную папку, я вижу номера строки.
Какая-либо идея, почему pdb файлы не копируются во временную папку?
BTW, когда я присоединяю к рабочему процессу I, видит, что говорит что загруженные Символы!
Может быть, на сервере, на котором вы публикуете, в системе
настроены параметры машины
. config в:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG
Дополнительную информацию см. в:
ASP.NET configuration - deployment Element (ASP.NET Settings Schema)
Просто подумайте.
Подключитесь к рабочему процессу с помощью VS или windbg и посмотрите, сможет ли он найти ваш pdb и соответствует ли он вашей сборке?
Другой распространенной причиной является то, что вы фактически используете релизные DLL [которые оптимизированы]. Я сомневаюсь, что это имеет какое-то отношение к IIS.
Не забудьте установить debug = true в web.config, без него номера строк в исключениях не отображаются.