C# .NET4.0 改为 到.NET2.0 时 TypedTableBase 报错解决方法
.NET 4.0 降版本 到.NET 2.0。不出意外,问题必然来了。
编译错误一:
错误 1 命名空间“System”中不存在类型或命名空间名称“Linq”(是缺少程序集引用吗?)
解决:
删掉该引用--没用到情况下,呵呵
使用Linq时,引用一个LinqBridge.dll 就可以了
编译错误二:
错误 2 命名空间“System.Data”中不存在类型或命名空间名称“TypedTableBase”(是缺少程序集引用吗?)
解决:
该错误出现在代码生成工具生成Dataset的片段里面。
.NET 4.0 : public partial class SubusersDataTable : global::System.Data.TypedTableBase<SubusersRow> {
要改成
.NET 2.0: public partial class SubusersDataTable : global::System.Data.DataTable, global::System.Collections.IEnumerable {
然后编译会出现另一个错误
错误 1 “DataTable”不实现接口成员“System.Collections.IEnumerable.GetEnumerator()”
查了以下网页 有好几种解决方法。
http://www.cnblogs.com/30ErLi/archive/2010/09/14/1826101.html
http://msdn.microsoft.com/zh-cn/library/system.collections.ienumerable.getenumerator(VS.80).aspx
继承接口加上下面这段就可以了
public System.Collections.IEnumerator GetEnumerator()
{
return GetEnumerator();
}