3

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 { }

別のアセンブリの内部にある型をインポートすることについてコンパイラが警告している理由がわかりません。何か案は?

4

2 に答える 2

2

問題が見つかりました。私が言及した「blah.dll」アセンブリには、AssemblyInfo.cs に次のものが含まれていました。

[assembly: InternalsVisibleTo("my.other.assembly")]

皆さん、ご意見ありがとうございます。

于 2013-02-06T19:08:30.900 に答える