每當我開始一個新的軟件時,我必須進入配置並關閉pdb文件生成和Visual Studio發佈版本的託管過程。有沒有什麼辦法可以告訴Visual Studio(特別是2008年),我希望在剩下的時間內爲所有項目做到這一點?如何關閉所有發佈版本的pdb生成和vshost
回答
經過一番挖掘,看起來C#的項目文件存儲在\program files\microsoft visual studio 9.0\common7\ide\projecttemplatescache\csharp\windows\1033
中。通過將<UseVSHostingProcess>false</UseVSHostingProcess>
添加到相關模板的正確部分(有調試和發佈配置的單獨部分),可以關閉所有類型的所有未來項目的託管過程。
你應該能夠處理PDB問題以類似的方式,但正如我所說,我不建議打開這些了,所以我會離開它作爲一個練習:)
這適用於VS2008 ,但我的猜測是其他版本也有類似的方案。實際上,VS2010使用相同的方法,但顯然目錄中的版本號是10.0而不是9.0。
爲什麼不添加一個後期構建步驟,刪除這些你不想要的文件。嗯,這又是一個步驟,不是你想要的:-(
如何編寫一個小幫手應用程序,它執行FindFirstFile和FindNextFile循環來查找你的發佈目錄中的PDB和shost文件,當它發現它們時,它會刪除或者更好地將它們移動到歸檔位置 - 這可以將它們從發佈包裝問題中移除,但仍然保留這些文件以防需要它們進行錯誤分析。
因爲它的助手應用程序可以運行它曾經作爲你的預發佈的一部分釋放人員。
我們使用這種技術處理很多事情:
- 確保DLL是最新的(基本上爲整個構建樹的智能更新)
- 清潔VC建立不是「批構建」可以(去掉一些那些可能會崩潰Visual Studio中的文件)
- 存檔更好某些特定的方式(類似於我建議你)
- 等
我與布萊恩 - 你應該保留這些文件。如果您需要調試任何錯誤或失敗,您將需要這些文件。
我同意 - 不要壓制它們或刪除PDB - 只要將它們從部署包中刪除並將它們與您的構建一起存檔即可:http://www.wintellect.com/CS/blogs/jrobbins/archive/2009 /05/11/pdb-files-what-every-developer-must-know.aspx – 2010-03-16 13:04:58
在VS 2010中,你會發現一個項目的屬性來控制.PDB代在項目屬性 - >生成 - >高級 - >調試信息
將其設置爲「無」,以抑制.PDB產生。
雖然這是按照每個項目的基礎。當時我想永遠爲所有項目做一次這樣的事情,而不是在每個項目建立和改變時都要進入這個項目。 – 2013-04-10 11:52:17
- 1. 版本生成.pdb文件,爲什麼?
- 2. 如何清除發佈中的PDB字符串VC++版本
- 3. 如何關閉發佈application.wadl?
- 4. VS10從調試版本生成發佈版本
- 5. 生成補丁WIX - 版本3關閉版本1或版本2?
- 6. 發佈生命週期和版本號
- 7. 使用.pdb文件發佈版本的性能損失?
- 8. 如何在發佈版本
- 9. 如何在發佈模式下生成.net託管項目的PDB?
- 10. 如何調試在發佈版本中發生的崩潰只
- 11. CMake爲發佈版本複製PDB文件
- 12. 生成庫版本和內部版本
- 13. ASP.net網站發佈版本包括pdb文件。我如何擺脫它們?
- 14. 爲發佈版本關閉MVC編譯調試
- 15. 如何生成所有約束腳本
- 16. TinyIoC和發佈版本
- 17. Maven:庫的開發和發佈版本
- 18. 如何密封/關閉Subversion版本庫
- 19. 的Javascript關閉和DOM生成器
- 20. C#發行版仍然有.pdb文件
- 21. Qt調試版本和Qt發佈版本有什麼區別?
- 22. 「發佈」和「發佈」版本配置有什麼區別?
- 23. 如何在MVC中發佈JsonResponse成功後關閉對話框
- 24. 如何僅顯示發佈版本的依賴關係更新
- 25. Doclava - 如何生成版本化的XML?
- 26. 如何當關閉事件發生時
- 27. Cordova - 生成版本 - 「無法解析配置的所有依賴關係:_debugCompile'?
- 28. 如何關閉MDIParentFrame中的所有MDIChildFrames?
- 29. 如何關閉所有的WordPress評論
- 30. 如何關閉所有睡覺的「goroutines」?
爲什麼要關閉發佈版本的PDB?請參閱http://stackoverflow.com/questions/2371032 – 2010-03-16 11:27:23
我的工作主要是內部軟件,我們沒有自動構建(還),所以它只是另一個文件,在將構建傳遞給推出的人之前發佈/取消選擇該軟件。我只是試圖爲他們和我做一些儘可能乾淨和容易的事情。 – 2010-03-16 11:31:16
但是不提供PDB會使調試更加困難。 – 2010-03-16 11:37:24