Как отключить генерацию pdb и vshost для всех сборок Release - PullRequest
28 голосов
/ 16 марта 2010

Каждый раз, когда я запускаю новый программный продукт, мне приходится заходить в конфигурацию и выключать генерацию pdb-файлов и процесс размещения Visual Studio для сборок Release. Есть ли способ сказать Visual Studio (в частности, 2008), что я хочу сделать это для всех проектов в остальное время?

Ответы [ 3 ]

15 голосов
/ 16 марта 2010

После некоторых копаний оказывается, что файлы проекта для C # хранятся в \program files\microsoft visual studio 9.0\common7\ide\projecttemplatescache\csharp\windows\1033. Добавив <UseVSHostingProcess>false</UseVSHostingProcess> к соответствующим разделам (есть отдельные разделы для конфигураций Debug и Release) соответствующих шаблонов, вы можете отключить процесс хостинга для всех будущих проектов выбранных типов.

Вы должны быть в состоянии решить проблему с PDB аналогичным образом, но, как я уже сказал, я не рекомендую отключать их, поэтому я оставлю это в качестве упражнения:)

Это относится к VS2008, но я предполагаю, что другие издания имеют аналогичную схему. На самом деле VS2010 использует тот же подход, но, очевидно, номер версии в каталоге равен 10.0 вместо 9.0.

11 голосов
/ 10 апреля 2013

В VS 2010 вы найдете свойство проекта для управления генерацией .pdb в разделе Свойства проекта -> Построить -> Дополнительно ... -> Отладочная информация

Установите значение «none» для подавления генерации .pdb.

2 голосов
/ 16 марта 2010

Почему бы не добавить шаг пост-сборки, который удалит эти файлы, которые вам не нужны. Хм, это еще один шаг, а не то, что вы хотели: - (

Как насчет написания небольшого вспомогательного приложения, которое выполняет цикл FindFirstFile и FindNextFile для поиска файлов PDB и shost в ваших каталогах релизов. Когда он находит их, он удаляет их. Или, что еще лучше, перемещает их в место архивирования - это позволяет удалить их из проблем с выпуском упаковки, но при этом сохранить файлы на случай, если они понадобятся вам для анализа ошибок.

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

Мы используем эту технику для многих вещей:

  • Обеспечение актуальности DLL (в основном интеллектуальное обновление для всего дерева сборки)
  • Очистка VC-сборок лучше, чем может «пакетная сборка» (удаление некоторых из тех файлов, которые могут вызвать сбой Visual Studio)
  • Архивирование определенного способа (аналогично тому, что я вам предложил)
  • и т.д.

Я с Брайаном - вы должны хранить эти файлы. Если вам нужно отладить какую-либо ошибку или сбой, вам понадобятся эти файлы.

...