3

我们有很多包含内部类的程序集,我们使用这些内部类进行单元测试,InternalsVisibleTo以使内部类对单元测试程序集可见。

这很好用,但问题是,一旦您使用InternalsVisibleTo,它会阻止代码分析 CA1812 警告(避免未实例化的内部类)。

它还可以防止 CA1811:“避免未调用的私有代码”。

我已经进行了一些调查,并且发现了很多未使用的内部类,因此我们没有被警告。

我目前的解决方案是手动编辑每个程序集中的“AssemblyInfo.cs”文件以临时注释掉,InternalsVisibleTo以便我可以只编译该项目并发现未使用的内部类。

这是一个巨大的麻烦,当然,如果这样的事情不能自动完成,它通常根本不会完成。

一个解决方案是能够告诉代码分析忽略该InternalsVisibleTo属性。

有谁知道这种可能性是否存在?

4

1 回答 1

2

尝试这个:

#ifdef CODE_ANALYSIS
#else
[InternalsVisibleTo(...)]
#endif
于 2013-10-16T13:49:16.437 回答