我不知道,如果人们(这意味着该公司/开发者)真的很在乎其[SuppressMessage]属性趴在装运组件左右。

创建独立CONFIGS在项目文件,其中包括CODE_ANALYSIS在发行模式,然后猛拉其关闭在最终版本似乎有种可避免的开销给我。

什么会是最好的stratergy,如果不希望这些留在最后的组装,但仍希望在代码中使用它们? 和是否有任何优势/它们存储在的FxCop项目文件的优缺点?

[我从VS2008临+的FxCop 1.36到来,而不是VS2008团队系统]

有帮助吗?

解决方案

在事物的宏伟计划,我不认为这真的很重要。由于这是一个属性(有效元数据),它不会影响代码的性能。这就是说,不记得在该属性的信息可用于使用诸如反射器a disassember任何人。

与它们存储在的FxCop项目文件的问题是,你必须再确保每个人都使用相同的项目文件,该项目文件始终与项目旅行(它已选中到源代码控制,这意味着你必须检查它每次出去,你想运行的FxCop)。

如果您不希望SuppressMessage在生产代码,你只需要定义你正在运行的FxCop对构建的CODE_ANALYSIS符号属性。这也意味着定义它无论是在调试配置或增加额外的配置。属性将仅被编译到当符号被定义的代码。

从自动/夜间生成的观点,你可以建立使用具有符号定义的配置,再建产能的释放,而不符号或做两个版本 - 一个带有符号定义,运行的FxCop让你的违法行为,然后另一个构建无符号定义

其他提示

在SuppressMessage属性将只被添加到代码中,如果CODE_ANALYSIS预处理器定义是一个编译过程中存在。您可以通过查看Reflector.exe属性的定义验证这一点。默认情况下,这是没有定义的版本,这样就不会影响到产品代码。

通常,我只在调试版本CODE_ANALYSIS被定义在我的组件的运行的FxCop。

我们都分散在各地的生产代码一吨,而我们并不特别在意。它不影响PERF,以及具有在一个类中的一些这些混沌寻找属性常常给人动机如果在所有可能的。

,以除去其
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top