我在 C# 解决方案中使用 JetBrains 注释。我已将注释类作为链接文件引入到解决方案的每个项目中。我不希望 JetBrains 注释成为我的公共(public)界面的一部分,因此我将它们修改为内部而不是公共(public)。
但是,当我编译时,我收到很多警告 CS0436,例如:
C:\src\foo\bar.cs(12,29): warning CS0436: The type 'JetBrains.Annotations.NotNullAttribute' in 'C:\src\Common\JetBrains\JetBrains.cs' conflicts with the imported type 'JetBrains.Annotations.NotNullAttribute' in 'c:\src\blah\bin\Debug\blah.dll'. Using the type defined in 'C:\src\Common\JetBrains\JetBrains.cs'.
但在 JetBrains.cs 中,NotNullAttribute 是内部的:
internal sealed class NotNullAttribute : Attribute { }
我不明白为什么编译器会警告导入另一个程序集内部的类型。有什么想法吗?
最佳答案
我遇到了同样的问题,因为在 References 文件夹中有对同一个项目的引用。即:我的项目名称是 Store 并且引用具有相同的名称。我删除了它,问题解决了!祝你好运
关于c# - 为什么 C# 编译器会为内部类生成 CS0436 警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14730934/