我们有很多包含内部类的程序集,我们使用InternalsVisibleTo
进行单元测试,以使内部类对单元测试程序集可见。
这样可以正常工作,但问题是只要您使用InternalsVisibleTo
,它就会阻止代码分析CA1812警告(避免未实例化的内部类)。
它还会阻止CA1811:“避免使用未调用的私有代码”。
我已经做了一些调查,而且我发现了很多未使用过的内部类,因此我们没有被警告过。
我目前的解决方案是手动编辑每个程序集中的“AssemblyInfo.cs”文件,以暂时注释掉InternalsVisibleTo
,这样我就可以编译该项目并发现未使用的内部类。
这是一个很大的麻烦,当然如果这样的事情没有自动完成,它通常根本无法完成。
解决方案是能够告诉代码分析忽略InternalsVisibleTo
属性。
有谁知道这种可能性是否存在?
答案 0 :(得分:2)
试试这个:
#ifdef CODE_ANALYSIS
#else
[InternalsVisibleTo(...)]
#endif