VS.Net中程序集的Debug版本和Release版本的区别
作者:未知?? 請作者速與本人聯系
前幾天看到豆腐的文章介紹如何知道程序集是Debug版還是Release版,之前只知道某些軟件從功能上有企業版、標準版之分,卻從不知道.Net程序集還有Debug和Release之區別,真是慚愧學了這一年C#。然后在博客園的提問區發文求教,兩天過去竟無人問津(還是自己太懶,要檢討),只好自己翻MSDN、用Google搜,現在總算有點明白了。
關于Debug和Release,MSDN里面是這么說的:
Visual Studio 項目對程序的發布和調試版本分別有單獨的配置。顧名思義,生成調試版本的目的是用于調試,而生成發布版本的目的是用于版本的最終分發。
如果在 Visual Studio 中創建程序,Visual Studio 將自動創建這些配置并設置適當的默認選項和其他設置。在默認設置下:?
程序的“調試”配置用全部符號調試信息編譯,不進行優化。(優化會使調試復雜化,因為源代碼和生成的指令間的關系更加復雜。)
程序的“發布”配置被完全優化,不包含任何符號調試信息。調試信息可在單獨的 PDB 文件中生成。
當在程序集的屬性頁中選Debug模式時,設置如下:
當選擇Release模式時,設置如下:
兩者的不同點如下:
| 項目 | Debug | Release |
| 條件編譯常數 | Debug;Trace | Trace |
| 優化代碼 | False | True |
| 輸出路徑 | bin/Debug | bin/Release |
| 生成調試信息 | True | False |
Debug模式下生成的程序集為調試版本,未經優化;在bin/debug/目錄中有兩個文件,除了要生成的.exe或.dll文件外,還有個.pdb文件,這個.pdb文件中就記錄了代碼中的斷點等調試信息;Release模式下不包含調試信息,并對代碼進行了優化,/bin/release/目錄下只有一個.exe或.dll文件。
注意若要更改項目的生成模式,不能只從項目屬性頁上點“配置”下拉框更改,那樣不起作用,必須點右上角的“配置管理器”按鈕才能更改。
現在我還有個疑問:在項目文件夾下除了bin外,還有個obj目錄,里面也有debug和release兩個子目錄,這不知是做什么用的。
總結
以上是生活随笔為你收集整理的VS.Net中程序集的Debug版本和Release版本的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在ASP.NET中操作文件的例子
- 下一篇: Asp.net支持的最大上传文件大小