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

Hug*_*ugh 3 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'类型与导入的类型'JetBrains冲突.Annotations.NotNullAttribute'在'c:\ src\blah\bin\Debug\blah.dll'中.使用'C:\ src\Common\JetBrains\JetBrains.cs'中定义的类型.

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

internal sealed class NotNullAttribute : Attribute { }
Run Code Online (Sandbox Code Playgroud)

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

paf*_*ivi 5

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