Нет pdb, сгенерированный в Visual Studio 2015
У меня есть решение, которое отлично работает, когда я открываю его в VS2013 (Ultimate), но когда я его открываю в VS2015 (Enterprise), два из проектов не генерируют отладочную информацию.
Один проект - это приложение MVC 5, а другое - библиотека классов. Все проекты в решении настроены на .net 4.5, и все они настроены на режим отладки
Расширенные настройки для обоих проектов полностью заполнены и, как представляется, компилируются без проблем, но когда я открываю окно Debug > Windows > Modules во время работы сайта, эти два двоичных файла имеют "Binary не был создан с информацией об отладке", в их статусе символа (каждый другой двоичный файл в решении правильно загружает символы)
Я удалил папки bin/obj, очистил временные файлы asp.net, перезапустил VS и Windows (10) и не повезло
Это влияет на других членов команды, поэтому, похоже, это не проблема с моей средой.
Кроме того, если я компилирую в VS2013, VS2015 будет использовать pdb без проблем, он просто не будет генерировать их для себя
Я предполагаю, что это параметр/особенность/ошибка где-то в VS2015, но я не уверен, что еще я могу проверить/изменить, чтобы получить эту сортировку
EDIT: веб-проект имеет значение web.config для debug = "true" и на него не влияют преобразования config
Ответы
Ответ 1
Оказывается, что это была проблема с PostSharp
Проекты, на которые ссылается версия 3.1.52 - после обновления до 4.1.21, мы теперь снова генерируем pdb
Я не совсем понимаю, в чем проблема или почему это проявляется таким образом, но, надеюсь, это может помешать кому-то другому ударить головой о стену, как будто я был!
Ответ 2
Такая же проблема возникает, если в проекте используется старая версия Telerik open data access. Проект генерирует файл pdp при построении через VS2013, но не делает то же самое при сборке с использованием VS2015.
Было больно и время, чтобы выяснить причину, по которой она требует последней версии Q2 (которая не имеет Visual Designer - версия Q1 2015 Telerik Data Access является последней, которая распространяет функции интеграции Visual Studio и генерации кода)
В любом случае, прочитайте блог поддержки Telerik http://www.telerik.com/forums/visual-studio-2015-ctp6-does-not-generate-pdb-file
Ответ 3
Фактически отладка не имеет ничего общего с тем, генерируется ли pdb или нет. Многие люди генерируют pdb для выпуска продукции и хранят их в локальном хранилище символов.
В любом случае попробуйте перейти на вкладку сборки в проекте и затем "Дополнительно" и установить информацию об отладке только для pdb или полностью.
Ответ 4
Мне пришлось вручную добавить <DebugType>pdbonly</DebugType>
в файл *.csproj в PropertyGroup с условием соответствия конфигурации сборки, с которой я отлаживал.