將(jiang)不確定變為(wei)確定~為(wei)什么發布項(xiang)目時(shi)用release環(huan)境更好些
之前寫過類似的文章,今天決定在(zai)(zai)簡單的說(shuo)說(shuo),在(zai)(zai)很(hen)多時(shi)候,我們在(zai)(zai)發(fa)布項(xiang)目(mu)時(shi),直接(jie)就發(fa)了,沒有什么(me)講究,但我要說(shuo)的是,VS為我們提供了一(yi)些(xie)(xie)工具,它可能希望我們在(zai)(zai)發(fa)布項(xiang)目(mu)時(shi)要講究一(yi)些(xie)(xie),呵(he)呵(he)!
調試模式
發布(生產(chan),運營)模式
這(zhe)(zhe)就是VS為我們(men)提供的兩(liang)個模(mo)式,當然你也可以根據團隊的需要去建立其(qi)它的模(mo)式,但我和(he)小微(wei)認為沒(mei)那個必要了,呵呵,下(xia)面來看看這(zhe)(zhe)兩(liang)種模(mo)式在什么時(shi)候(hou)會(hui)用。
首先(xian),如果(guo)(guo)你在(zai)(zai)代碼中沒有(you)用(yong)(yong)到debug,release,那(nei)事實上它(ta)們在(zai)(zai)發(fa)布(bu)時(shi),這兩(liang)種模式沒有(you)區別,但(dan)如果(guo)(guo)你的代碼中用(yong)(yong)到了(le)(le),那(nei)就不同(tong)了(le)(le),可能一個方法在(zai)(zai)調試(shi)時(shi)用(yong)(yong),但(dan)運(yun)營環境(jing)時(shi)就不需要了(le)(le),如果(guo)(guo)調試(shi)日志(zhi)的寫入,可能只是調試(shi)時(shi)用(yong)(yong),但(dan)運(yun)營時(shi)就不需要了(le)(le),但(dan)運(yun)營時(shi),可能對(dui)關鍵點也(ye)需要有(you)日志(zhi)記錄。
看代碼:
/// <summary> /// 在調試時使用日志(zhi)來記錄所(suo)發生(sheng)的(de)事件 /// </summary> /// <param name="fmt"></param> /// <param name="args"></param> [Conditional("DEBUG")] static void Logger(string fmt, params object[] args) { Console.WriteLine("{0}", String.Format(fmt, args).Trim()); }
而這時,你(ni)在debug模式下,運行程序,如果(guo)調(diao)用了Logger方法,它會(hui)正(zheng)確加載,但如果(guo)你(ni)使用release去發布或者調(diao)試,那么,Logger方法將不會(hui)
被執行,這種特性在我們開發中(zhong),經常用到。
感謝微(wei)軟(ruan)為我們開(kai)發者想的如何周到,呵呵。