参考名称大小写不符合CLS

use*_*909 5 c# reference cls-compliant

我有一个.NET 3.5 C#项目,其命名空间为SampleNamespace.Tools.Sample.

如果我将一个名为"Samplenamespace.Utils.Example"的程序集添加到我的项目中,我会收到以下警告:

标识符'Samplenamespace'仅在不符合CLS的情况下有所不同

请注意小写字母'n' Samplenamespace.

我目前甚至没有在我的项目中使用参考组件.只需添加它作为参考就会引发警告.

为什么编译器抱怨这一点,因为我甚至没有在公共类中公开任何对程序集的引用?

任何解决方法?

Ral*_*ton 7

当你有像这样的混合命名空间时,并不是所有的.NET语言都区分大小写(例如VB),仅在大小写的情况下进行区分(使用警告的措辞)你的代码可能无法访问其他开发人员.

这可能不是你的情况,这就是为什么它是一个警告(在我的商店,我们视为一个错误)

  • 它无法“知道”代码是否是从 VB 访问的。如果下周有人在另一台计算机上用 VB 编写一个程序集来调用您计算机中的某些函数,该怎么办?您的程序集中的任何内容都可供其他程序集使用。这些其他程序集可以用任何 .NET 语言编写。 (2认同)