我正在编写一个使用 log4net 和一些其他第三方库的小型应用程序。
我想对我编写的代码运行 Visual Studio 的代码分析,但目前有大约两千条来自 log4net 和我无法控制的其他库的消息。例如,在此示例图像 ( Image of Visual Studio Code Analysis window ) 中,我想保留第一条和第二条消息(BfLicense 是我编写的代码),但抑制 log4net 消息。
在运行代码分析时,是否有办法抑制或忽略来自库引用的所有消息?理想情况下,代码分析根本不会在引用库上运行,因为它似乎会大大减慢分析速度。
在查看了 GlobalSuppressions.cs 文件的 MSDN 文档描述并检查了 stackoverflow 之后,我找不到让 Visual Studio 忽略外部库的方法,但我想这是其他人遇到的常见问题,所以希望有是我可以遵循的最佳实践。
在此先感谢您提供的任何帮助。
附言这些答案帮助我理解了 GlobalSuppressions.cs 文件的一些限制,但没有完全回答我的问题:
Code analysis fails on project referencing obfuscated assembly .
How to suppress code analysis messages for all type members?
最佳答案
感谢 jessehouwing 为我指明了正确的方向。尝试在另一个项目中重现该问题使我意识到 ILMerge 是问题的根本原因。代码分析工具无法确定在合并的程序集中哪些代码是您的或不是您的。解决方案是对未合并的程序集运行代码分析。
事实上 - jessehouwing 之前在这个问题中为另一个用户解决了这个问题:In Visual Studio 2013 how do I limit code analysis to my code and not to referenced assemblies?
关于c# - VS 2013/2015 代码分析——抑制来自第三方库的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34708523/