C# 类型';Tamir.SharpSsh.jsch.JSchException';未标记为可序列化

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:

我有一个.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:   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中运行时,它工作得很好(异常按照正常方式抛出),我不理解这一点。我已经检查了源代码,但它没有尝试序列化异常。所以我不确定这个错误是怎么造成的?