为什么C#编译器会为内部类生成CS0436警告?

时间:2013-02-06 14:01:49

标签: c# warnings compiler-warnings

我在C#解决方案中使用JetBrains注释。我已将注释类作为链接文件引入解决方案的每个项目中。我不希望JetBrains注释成为我的公共界面的一部分,所以我将它们修改为内部而不是公共。

然而,当我编译时,我收到很多警告CS0436,例如:

  

C:\ src \ foo \ bar.cs(12,29):警告CS0436:'C:\ src \ Common \ JetBrains \ JetBrains.cs'中的'JetBrains.Annotations.NotNullAttribute'类型与导入的冲突在'c:\ src \ blah \ bin \ Debug \ blah.dll'中键入'JetBrains.Annotations.NotNullAttribute'。使用'C:\ src \ Common \ JetBrains \ JetBrains.cs'中定义的类型。

但是在JetBrains.cs中,NotNullAttribute是内部的:

internal sealed class NotNullAttribute : Attribute { }

我不明白为什么编译器会警告导入另一个程序集内部的类型。有什么想法吗?

1 个答案:

答案 0 :(得分:5)

我遇到了同样的问题,因为在References文件夹中有一个对同一项目的引用。即:我的项目名称是Store,引用名称相同。我删除它,问题解决了!祝你好运