C# 类型或命名空间名称';DataSetExtensions';命名空间中不存在';系统数据';(是否缺少程序集引用?)
我知道这是一个常见错误,但我对添加到项目中的System.Data.DataSetExtensions.dll有正确的引用,并且我的项目是为.net 4.5构建的SQL CLR项目,我在以下行中得到错误:C# 类型或命名空间名称';DataSetExtensions';命名空间中不存在';系统数据';(是否缺少程序集引用?),c#,sql,.net,reference,sqlclr,C#,Sql,.net,Reference,Sqlclr,我知道这是一个常见错误,但我对添加到项目中的System.Data.DataSetExtensions.dll有正确的引用,并且我的项目是为.net 4.5构建的SQL CLR项目,我在以下行中得到错误: using System.Data.DataSetExtensions; 我还检查了dll的属性,它引用了4.5 dll的正确版本,那么还有什么可能导致此问题?这是SQL CLR项目的问题吗?System.Data.DataSetExtensions是程序集,而不是命名空间。您只需添加对Sy
using System.Data.DataSetExtensions;
我还检查了dll的属性,它引用了4.5 dll的正确版本,那么还有什么可能导致此问题?这是SQL CLR项目的问题吗?System.Data.DataSetExtensions是程序集,而不是命名空间。您只需添加对
System.Data.DataSetExtensions.dll的引用(正如您所说的),然后为System.Data
命名空间添加一个using指令:
using System.Data;
这将引入该命名空间中类中的所有扩展方法,例如
在查看文档时,请始终注意名称空间和程序集名称之间的差异-它们通常是相同的,但在逻辑上是独立的。问题是没有名称空间命名为System.Data.DataSetExtensions
,DataSetExtensions
位于System.Data
名称空间中,在System.Data.DataSetExtensions.dll
assembly.dll中,将此添加到顶部的usingusing System.Data好吧,我现在觉得自己很傻。请回答这个问题,我会将其标记为更正。有时可以使用System.Data.DataSetExtensions
作为名称空间。看,你知道为什么会这样吗?@ShaunLuttin:奇怪。我怀疑某个地方有一个名称空间,但我找不到它的任何文档。是否有其他与此扩展DLL相关的GOTCHA?我按照这些说明操作,仍然无法访问我的IEnumerable
对象上的ToDataTable()
方法。命名空间存在于程序集中,但它只包含两个内部类,因此未记录,可以忽略。@RLH:ToDataTable
不是来自DataSetExtensions
dll的方法。它可能是您在internet上找到的(f.e.),但它肯定不是.NET framework的一部分。