当前位置:  开发笔记 > 编程语言 > 正文

从.NET中的Release版本中删除代码

如何解决《从.NET中的Release版本中删除代码》经验,为你挑选了2个好方法。

我一直在使用System.Diagnostics.Debug进行一些性能测试,似乎所有与静态类Debug相关的代码在构建Release配置时都会被完全删除.我想知道编译器是如何知道的.也许有一些类或配置属性允许准确指定该行为.

我正在尝试创建一些我想要从Release配置中完全删除的调试代码,我想知道我是否可以像Debug类那样只需更改配置参数就可以删除代码.



1> Jeff Yates..:

您可以将带有字符串"DEBUG" 的ConditionalAttribute属性应用于任何方法,并且对该项的调用将仅出现在DEBUG构建中.

这与使用#ifdef方法不同,因为这允许您在其DEBUG配置中释放供其他人使用的方法(如.NET框架中的Debug类方法).



2> Dave R...:

Visual Studio为Debug配置定义了一个DEBUG常量,您可以使用它来包装您不希望在Release版本中执行的代码:

#ifdef DEBUG
  // Your code
#endif

但是,您也可以使用Conditional属性修饰方法,这意味着永远不会为非Debug构建调用该方法(该方法和任何调用站点将从程序集中删除):

[Conditional("DEBUG")]
private void MyDebugMethod()
{
  // Your code
}

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有