vs加调试代码的正确姿势

为了方便,我们会在系统中加入一些调试代码,比如自动登录,这样会省掉很多精力时间,但用的姿势不对,

第一重姿势:打包注释

我看一些人在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

上面说的虽然很基础,但也很重要。聪明的工作方式能提高工作效率,大家平时如果有一些经验总结,也可以在评论里提出来,谢谢!

猜你喜欢

转载自www.cnblogs.com/ssvip/p/11593461.html
今日推荐