当我在网站上创建一个项目时,我收到一个奇怪的错误。
[A] StDataAccess.AgentInfo无法转换为[B] StDataAccess.AgentInfo。
类型A源自位于'C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP的上下文'Default'中的'App_Code.mwvc4o1b,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = null'。 NET Files \ online_7 \ b2fb7384 \ 92a5cc98 \ App_Code.mwvc4o1b.dll'。
类型B源自位于'C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP的上下文'Default'中的'App_Code.05yjxsnv,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = null'。 NET Files \ online_7 \ b2fb7384 \ 92a5cc98 \ App_Code.05yjxsnv.dll'。
正如您所看到的,Namespace / Class是相同的,我没有在编译之间更改该类的任何内容,但我更改为父命名空间中的另一个类(StDataAccess)。 AgentsInfo是一个非常简单的类,有10个属性(string / int)。没什么复杂的。我从会话中检索此类时发生错误:
AgentInfo ag = (AgentInfo) HttpContext.Current.Session["AgentInfo"];
有什么想法吗?
答案 0 :(得分:3)
基本上你已经更新了程序集 - 会话中的对象来自" old"汇编,你不能在" new"中投射到一个类型。程序集,因为类型与它们的原始程序集紧密绑定。
选项: