C# 类型';Tamir.SharpSsh.jsch.JSchException';未标记为可序列化
我有一个.NET 3.5 MVC2 web应用程序,在Visual Studio 2008中运行良好,但当我发布到远程站点时,我在某个函数中遇到错误 知道我应该在这里找什么吗C# 类型';Tamir.SharpSsh.jsch.JSchException';未标记为可序列化,c#,.net-3.5,C#,.net 3.5,我有一个.NET 3.5 MVC2 web应用程序,在Visual Studio 2008中运行良好,但当我发布到远程站点时,我在某个函数中遇到错误 知道我应该在这里找什么吗 Event Type: Error Event Source: ASP.NET 2.0.50727.0 Event Category: None Event ID: 1334 Date: 24/08/2010 Time: 13:58:55 User: N/A Computer:
Event Type: Error
Event Source: ASP.NET 2.0.50727.0
Event Category: None
Event ID: 1334
Date: 24/08/2010
Time: 13:58:55
User: N/A
Computer: MSVSC01-G124NW
Description:
An unhandled exception occurred and the process was terminated.
Application ID: DefaultDomain
Process ID: 17048
Exception: System.Runtime.Serialization.SerializationException
Message: Type 'Tamir.SharpSsh.jsch.JSchException' in Assembly 'Tamir.SharpSSH, Version=1.1.1.13, Culture=neutral, PublicKeyToken=null' is not marked as serializable.
StackTrace: at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter)
at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.Serialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter)
at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck)
at System.Runtime.Remoting.Channels.CrossAppDomainSerializer.SerializeObject(Object obj, MemoryStream stm)
at System.AppDomain.Serialize(Object o)
at System.AppDomain.MarshalObject(Object o)
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
嗯。。异常类是否标记为可序列化?Aop是正确的,您必须将[serializable()]放在类之前。这告诉编译器这个类可以被序列化
[Serializable()]
public class TestSimpleObject { ... }
有关属性和序列化的详细信息:
您是否在另一个可序列化类的成员中使用该类?如果是这样,您可能需要将这些属性添加到该变量中
[XmlIgnore][field: NonSerialized] private JSch _jsch
我希望这能有所帮助不,它不是,而是在第三方dll中。在VS中运行时,它工作得很好(异常按照正常方式抛出),我不理解这一点。我已经检查了源代码,但它没有尝试序列化异常。所以我不确定这个错误是怎么造成的?