运行 ASP.NET 应用程序时出现以下错误。X 是在 reference.cs 中定义的 typedDataTableRow (另一个项目中的 Web 服务的代理,它不是解决方案的一部分)。ASPTemp 文件夹中只有一个 Y.dll 文件。我重新启动了Visual Studio,清理了解决方案,删除了ASPTemp文件夹,删除了解决方案下所有编译好的dll,重新启动了IIS。在调试器中,模块窗口中有一个 Y.dll 实例。我无法确定为什么会收到此异常。异常中的两条路径完全相同!不知何故,运行时认为有两个 Y.dll 实例。(Y 是我的项目/程序集的名称)。我正在尝试使用 Fuslogvw.exe,但它没有显示最少的信息,也没有任何用处。将发布另一个关于它的问题。我在 Windows 7 64 位中使用 Visual Studio 2010。
我要提到的一个注意事项是我有两个非常相似的类型化数据集。一个是从另一个加上新的数据表创建的。我使用 Merge 方法将数据从一个复制到另一个。我在第二个 ..designer.cs 文件中对数据集类名进行了全局重命名,我确信这两个数据集是唯一的。第一个的类名在第二个中不存在。我提到了这一点,以防两个数据集可能是造成这种情况的原因,但我不知道如何。
任何想法如何解决这个问题?
Exception Type: System.InvalidCastException
Message: [A]X cannot be cast to [B]X. Type A originates from 'Y, Version=123.10.0.32434,
Culture=neutral, PublicKeyToken=null' in the context 'Default' at location
'c:\temp\ASPTemp\xx\bf09df88\62e1519a\assembly\dl3\bdf55bf9\f02959af_c88cce01\Y.dll'.
Type B originates from 'Y, Version=123.10.0.32434, Culture=neutral, PublicKeyToken=null'
in the context 'Default' at location 'c:\temp\ASPTemp\xx\bf09df88\62e1519a\assembly\dl3\bdf55bf9\f02959af_c88cce01\Y.dll'