2013-01-16 39 views

回答

5

構建服務器默認情況下執行任何解決方案(SLN)告訴它。默認情況下,執行「Debug」構建並創建PDB。你可以告訴生成做「釋放」構建默認情況下不會產生任何PDB的...

Adding a Build Configuration 圖:添加構建配置

我不過建議反對爲PDB的包含您在生產系統中甚至需要的信息。考慮一下你在生產中有一個DLL,並且客戶遇到問題。您可以讓他們創建一個InteliTrace日誌,以便您可以在本地進行調試(或者讓您可以在其環境中進行調試),並突然嘗試在沒有Visual Studio理解可執行代碼和源代碼之間關係的情況下進行調試。因此,沒有調試......

+0

請注意,配置的默認值可能會有所不同(不確定原因)正如M.Radwan -MVP聲明他的VS2012版本已啓用pdb,對於我的VS2010 relaese配置也是一樣,只有pdb-set。 – drk

+0

這是在所有情況下創建PDB的正確行爲,因爲如果沒有它,您將無法使用InteliTrace ... –

+0

如果第三方庫具有永遠不會調試的臃腫PDB文件,那麼該怎麼辦? –

2

因爲我無法找到禁用PDB文件生成的構建選項,所以之後我將它們刪除。

有沒有簡單的方法來刪除文件。我所做的:

  1. 使用FindMatchingFiles Activity帶通配符* .PDB,它返回 一個完整路徑pdb文件
  2. 使用foreach循環
  3. call a DotNet method在迴路的每個文件與InvokeMethod活動, 與目標類型有System.IO.File和方法是「刪除」
6

PDB文件按住你的代碼和調試信息,它不建議禁用它們,它們是有效的輸出,因此部署不應與T搞亂下襬。 您可以在Visual Studio項目「屬性」>「生成」>「高級」>「調試信息=無」中禁用它們的生成。 如果你絕對想讓他們離開然後禁用他們爲特定版本配置(relaese等)

+0

MrHinsh答案的完美補充。但只有一個_official_可能的答案...我不得不選擇。謝謝。 – Askolein

2

在以前的版本(Visual Studio 2010中) 當我們建立/釋放,它不產生PDBS中,PDB文件被創建時,我們只建立與/調試:全/debug:pdbonly,我們使用/debug:pdbonly如果我們想爲我們不想調試的發佈版本生成PDB。

這不是在Visual Studio 2012的情況下,我檢查,我發現它產生的PDBS兩個,/調試/釋放

沒有爲視覺效果工作室2012年

沒有文檔