【发布时间】:2012-01-25 06:45:39
【问题描述】:
序列化异常:程序集“Microsoft.Office.Interop.Excel,版本=11.0.0.0,文化=中性,PublicKeyToken=71e9bce111e9429c”中的类型“Microsoft.Office.Interop.Excel.WorkbookClass”未标记为可序列化。
我得到了上述异常..这是代码
unsafe public void Save(IStream stream, bool clearDirty, Excel.Workbook xlbook)
{
try
{
//if (stream == null)
//{
// return;
//}
//object data = xlbook;
if (xlbook == null)
{
return;
}
// convert data to byteArray
MemoryStream memoryStream = new MemoryStream();
BinaryFormatter binaryFormatter = new BinaryFormatter();
//below line im getting the Exception
**binaryFormatter.Serialize(memoryStream, xlbook);**
byte[] bytes = memoryStream.ToArray();
memoryStream.Close();
//get memory pointer
int cb;
int* pcb = &cb;
//save data
byte[] arrayLen = BitConverter.GetBytes(bytes.Length);
stream.Write(arrayLen, arrayLen.Length, new IntPtr(pcb));
stream.Write(bytes, bytes.Length, new IntPtr(pcb));
//currentDomain.AssemblyResolve -= new ResolveEventHandler(currentDomain_AssemblyResolve);
}
catch
{
}
}
【问题讨论】:
-
我已经用 [serializable] 属性标记了这个类,但是没有运气
-
如果您需要指针来保存 Excel 文档,那就是出了点问题。
标签: c# asp.net serialization web-config assemblies