2009-06-10 35 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