為了方便,我們會在系統中加入一些調試代碼,比如自動登錄,這樣會省掉很多精力時間,但用的姿勢不對,
第一重姿勢:打包注釋
我看一些人在vs中加調試代碼(比如自動登錄),然后打包的時候注釋掉,這樣操作是省時了。但要時刻記得去掉代碼,否則可能會出大事。
//注釋代碼,正式發布時去掉 string UserName = "administrator"; string Password = "123"; AutoLogin(UserName, Password);
第二重姿勢:用#if預處理器指令
當C# 編譯器遇到 #if 指令,最終是 #endif 指令,則僅當定義指定的符號時,它才編譯這些指令之間的代碼。所以可以用debug符號來區分當前編譯系統是發布還是調試
#if DEBUG string UserName = "administrator"; string Password = "123"; AutoLogin(UserName, Password); #endif
第三重姿勢:自定義#if預處理器指令符號
以上面的預處理指定,可以滿足加入調試代碼,且不影響正式發布的系統版本。但有人可能生成正式安裝包也是debug模式。這樣的做法我們暫時不評價。遇到這樣的情況的時候,我們就不能用第二重姿勢了。這時候我們可以自定義指定符號。
1、首先我們點擊解決方案配置,在下拉框中選擇“配置管理器”
2、在彈出的配置管理器窗口的活動解決方案配置下選擇新建項
3、在彈出的新建解決方案配置窗口的名稱中輸入你的名稱,我們要復制debug的配置,所以從此處復制配置我們選擇debug,創建新的項目配置打鈎,點擊確定
這時候我們可以在解決方案配置中看到我們新建的解決方案配置了
4、選擇我們新建的解決方案配置,右鍵啟動項目,選擇屬性,在彈出的窗口中選擇生成項,在常規項下的條件編譯符號中輸入我們自定義的條件編譯符號(注意:不同的條件編譯符號以冒號隔開),下圖中的LocalTest就是我們新增的符號。
5、我們此時即可用我們定義的條件編譯符號來區分調試與生成了。
#if LocalTest string UserName = "administrator"; string Password = "123"; AutoLogin(UserName, Password); #endif
上面說的雖然很基礎,但也很重要。聰明的工作方式能提高工作效率,大家平時如果有一些經驗總結,也可以在評論里提出來,謝謝!