Debug目錄、Release目錄,bin目錄、obj目錄,vshost.exe.config文件、.exe.config文件分析【C#】
Debug目錄、Release目錄,bin目錄、obj目錄,vshost.exe.config文件、.exe.config文件分析【C#】
2013-10-06 孤風卓影 摘自 csdn博客 閱 558 轉 4 轉藏到我的圖書館 微信分享:
今天寫程序的時候,需要更改.exe.config文件中的引用的webservice地址,用vs調試的時候,發現會修改vshost.exe.config中的對應項,.exe.config中的對應項是不會修改的,這樣會導致在軟件重啟的情況下,.exe.config中的舊信息會覆蓋vshost.exe.config的新信息,經過查閱相關資料,終於明白了一些,記錄下來,供參考~ 1、vshost.exe.config與.exe.config vshost.exe.config文件與.exe.config文件中的內容是一模一樣的,不同的是.exe.config是EXE軟件的配置文件,而vshost.exe.config是VS的一項功能,是為了提高調試性能,而 生成的支持文件,msdn上指出是宿主進程。這樣就說明,在最後打包的時候,只需要包括.exe.config文件而不需要包括vshost.exe.config文件。 2、Debug目錄與Release目錄 Debug是調試目錄,生成調試版本的目的是在開發調試的過程中,能最高性能的工作,主要體現在:程序的“調試”配置用全部符號調試信息編譯,不進行優化。(優化會使調試復雜化,因為源代碼和生成的指令間的關系更加復雜)調試信息保存在Debug目錄下的.pdb 文件中,該文件中會記錄斷點等信息。 Release目錄是發布目錄,生成發布版本的目的是用來形成最終軟件的組成部分,能得到優化,主要體現在:程序的“發布”配置被完全優化,不包含任何符號調試信息。會生成XmlSerializers.dll文件(序列或程序集)、.vshost.exe.manifest(XML的程序集,打安裝包的時候不需要,在配置管理器中可以關掉) 另外:Release目錄下有的也會有vshost.exe.config等調試文件,這跟配置管理器的設置有關,可以關掉:項目Properties->build->Generate serialization assembly 設置成Off 3、bin目錄與obj目錄 bin目錄用來保存項目生成後程序集,它有Debug和Release兩個版本目錄,分別對應的文件夾為bin/Debug和bin/Release,這個文件夾是默認的輸出路徑,我們可以通過:項目屬性—>配置屬性—>輸出路徑來修改。 |
Debug目錄、Release目錄,bin目錄、obj目錄,vshost.exe.config文件、.exe.config文件分析【C#】