2009-06-10 83 views
0

我有一个我想在我的ViewState中序列化的结构。它看起来是这样的:在ASP.NET ViewState中序列化自定义类型的问题

[Serializable] 
private struct DayMoney 
{ 
    public readonly DateTime ValidFrom; 
    public readonly string CurrencyCode; 
    public readonly double Amount; 
} 

它系列化就好了,但是当我执行回发/回调,我得到一个异常的反序列化它。包装在一个很长的列表InnerException的根本原因似乎是:

无法找到程序集'BussinessTripModule,版本= 1.0.0.0,文化=中立,PublicKeyToken = null'。

这有点荒谬,因为这个程序集已经在当前的AppDomain中加载了。

WTF?

回答

2

这类问题很难诊断。

我的建议是使用Fusion Log Viewer来诊断为什么找不到您的特定程序集。请记住,Fuslogvw的某些特定选项不易安装,幸运的是,Google可以为您提供很多帮助。

但是,要开始......让别人说你的结构是公开的!

1

你的结构是私人的。反序列化发生在框架本身中,而不是在你的程序集中。这可能就是问题所在,将其公诸于众,看看是否能解决问题

+0

Nop,根本没有解决它。此外 - 如果框架无法找到这样的程序集,怎么会影响到任何东西? – 2009-06-10 10:32:06

+1

嗯,我隐约希望这可能是一个错误的错误消息,它发现组件,但无法访问类。有时MS错误信息吸吮:) – blowdart 2009-06-10 11:07:48