我在 C# 解决方案中使用 JetBrains 注释。我已将注释类作为链接文件引入到解决方案的每个项目中。我不希望 JetBrains 注释成为我的公共接口的一部分,所以我将它们修改为内部而不是公共的。
但是,当我编译时,我会收到很多警告 CS0436,例如:
C:\src\foo\bar.cs(12,29): 警告 CS0436: 'C:\src\Common\JetBrains\JetBrains.cs' 中的类型 'JetBrains.Annotations.NotNullAttribute' 与导入的类型 'JetBrains' 冲突'c:\src\blah\bin\Debug\blah.dll' 中的 .Annotations.NotNullAttribute'。使用“C:\src\Common\JetBrains\JetBrains.cs”中定义的类型。
但在 JetBrains.cs 中,NotNullAttribute 是内部的:
internal sealed class NotNullAttribute : Attribute { }
我不明白为什么编译器会警告导入另一个程序集内部的类型。有任何想法吗?