【发布时间】:2012-03-04 16:25:51
【问题描述】:
我有一个强类型的DataTable,我正在调用GetChanges:
myApples.CropTable.GetChanges(DataRowState.Deleted)
我想使用我的强类型 CropTable 和 CropRow 类访问此结果。所以我尝试投射结果,如下所示:
(AppleDataSet.CropDataTable)myApples.CropDataTable.GetChanges(DataRowState.Deleted)
DOINGGGG,InvalidCastException:
[A]CropDataTable 无法转换为 [B]CropDataTable。 A型起源于 'FarmingBO,版本=1.0.0.0,文化=中性,PublicKeyToken=acbff80904caf0cb' 在上下文中的“默认”位置 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\Farming\3b503e68\8f2b701b\assembly\dl3\8d20c3b3\a16c5196_27eacc01\FarmingBO.DLL'。 B型起源于 'FarmingBO,版本=1.0.0.0,文化=中性,PublicKeyToken=acbff80904caf0cb' 在上下文中的“默认”位置 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\Farming\3b503e68\8f2b701b\assembly\dl3\8d20c3b3\a16c5196_27eacc01\FarmingBO.DLL'。
只有我一个人,还是这些类型完全一样?
【问题讨论】:
-
尝试将Assembly.GetExecutingAssembly().GetReferencedAssemblies()的输出写入控制台,看看是否有可疑之处。
-
尝试干净的解决方案并重建。也尝试清除临时 ASP.NET 文件
-
我注意到错误似乎不包括类型的命名空间,只包括最终类型名称(或者你是否编辑过这个)。是否有可能,在同一个程序集中,您在两个不同的命名空间中使用相同的类型名称?
-
实际失败发生在我同事的代码中。他突然说:“哦!我知道是什么问题了。”然后就去自己的工作站修好了。我会试着让他告诉我问题出在哪里,但他可能不会回答,直到我们通过下一个版本。
-
@sq33G 你从你的同事那里得到答案了吗?我面临同样的事情......
标签: c# ado.net strongly-typed-dataset .net