我正在使用 LINQ to SQL 作为新项目的数据访问层。我已将数据库表添加到设计器中,一切正常。

每当我在函数中使用这些类之一时,Visual Studio 都会警告我“类型 xxxx 不符合 CLS”或“函数 xxxx 的返回类型不符合 CLS”

这是 LINQ to SQL 生成的类的问题吗?这重要吗?我可以在任何地方禁用这些警告吗?我的 VS 错误列表被这些警告堵塞,很难看到其他内容。

编辑:

抱歉,我应该提到这些是 VB.NET 项目。:)

有帮助吗?

解决方案

奔M具有在问题正确的想法。

要解决这个上的VB.Net项目的最快方式是使组件不CLSCompliant,从而避免这些警告。添加下面一行到你的任何文件就可以了。

<Assembly: CLSCompliant(False)>

将其添加到最好的文件是AssemblyInfo.vb中的“我的项目”文件夹内。

其他提示

我发现 MSDN上连接此链接:

  

当添加继承关系   在O / R设计器类之间,   所生成的接取水平   的Id的后备存储构件   属性,“_id”,从改变   专用于保护,导致CLS   违反规则。 id属性   在之间的关联用于   类。

如果你想摆脱的警告,你可以使用:

#pragma warning disable 3021

或者,如果你想禁止他们项目范围,在项目的属性在Visual Studio中生成选项卡中添加3021的“禁止警告”字段。

这最终取决于正由数据库和这些类型的名称是什么返回什么类型的。

关于CLS遵从性的一个问题是,它具有两个公开曝光构件,其仅通过的情况下,例如以名称的差异类型MyField的和MyField的。

下面的的制品应该帮助您确定的其中的你的CSS合规性问题存在的和处理的问题。如果您需要更多的帮助,带来了一些代码,我们将看看我们能做些什么。

当我使用一个不具有以下功能的程序集中的类型时,我通常会看到该错误 符合CLS标准 另一个程序集中的属性确实如此。

也就是说,您的 Linq to SQL 类与您正在编写的函数是否位于不同的项目中?你指定了吗 [assembly: CLSCompliant(true)] 在您的解决方案中的一些但不是全部项目中?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top