我正在编写一个使用log4net和其他一些第三方库的小应用程序。
我想在我编写的代码上运行Visual Studio代码分析,但目前有大约两千条来自log4net和其他我无法控制的库的消息。例如,在此示例图像(Image of Visual Studio Code Analysis window)中,我想保留第一条和第二条消息(BfLicense是代码I已写入),但是禁止log4net消息。
运行代码分析时,有没有办法抑制或忽略来自库引用的所有消息?理想情况下,代码分析根本不会在参考库上运行,因为它似乎会慢慢减慢分析速度。
在查看GlobalSuppressions.cs文件的MSDN文档描述并检查stackoverflow后,我找不到让Visual Studio忽略外部库的方法,但我想这是其他人有的常见问题,所以希望我能遵循一个很好的最佳实践。
提前感谢您提供的任何帮助。
P.S。这些答案帮助我理解了GlobalSuppressions.cs文件的一些限制,但没有完全回答我的问题:
Code analysis fails on project referencing obfuscated assembly。
How to suppress code analysis messages for all type members?
答案 0 :(得分:0)
感谢jessehouwing指出我正确的方向。试图在另一个项目中重新创建问题导致我意识到ILMerge是问题的根本原因。代码分析工具无法确定合并程序集中的代码是什么。解决方案是在未合并的程序集上运行代码分析。
事实上 - jessehouwing此前已在此问题中为其他用户解决了此问题:In Visual Studio 2013 how do I limit code analysis to my code and not to referenced assemblies?