SerializationException仅在发布模式下发生

时间:2010-03-19 07:51:02

标签: asp.net exception serialization release

我正在使用Visual Studio 2008和第三方库开发ASP.NET Web应用程序。

在我的开发环境中,一切都很好。如果在Debug配置中部署Web应用程序,情况也会很好。但是,在Release模式下部署时,SerializationExceptions会间歇性地出现,从而破坏其他功能。

在Windows事件日志中,可以看到以下错误:

“发生了未处理的异常,并且该流程已终止。

应用程序ID:DefaultDomain

流程ID:3972

异常:System.Runtime.Serialization.SerializationException

消息:无法找到程序集'MyThirdPartyLibrary,Version = 1.234.5.67,Culture = neutral,PublicKeyToken = 3d67ed1f87d44c89'。

StackTrace:at System.Runtime.Serialization.Formatters.Binary.BinaryAssemblyInfo.GetAssembly() 在System.Runtime.Serialization.Formatters.Binary.ObjectReader.GetType(BinaryAsse mblyInfo assemblyInfo,String name) at System.Runtime.Serialization.Formatters.Binary.ObjectMap..ctor(String objectName,String [] memberNames,BinaryTypeEnum [] binaryTypeEnumA,Object [] typeInformationA,Int32 [] memberAssemIds,ObjectReader objectReader,Int32 objectId,BinaryAssemblyInfo assemblyInfo,SizedArray assemIdToAssemblyTable ) at System.Runtime.Serialization.Formatters.Binary.ObjectMap.Create(String name,String [] memberNames,BinaryTypeEnum [] binaryTypeEnumA,Object [] typeInformationA,Int32 [] memberAssemIds,ObjectReader objectReader,Int32 objectId,BinaryAssemblyInfo assemblyInfo,SizedArray assemIdToAssemblyTable) 在System.Runtime.Serialization.Formatters.Binary .__ BinaryParser.ReadObjectWithMa pTyped(BinaryObjectWithMapTyped record) 在System.Runtime.Serialization.Formatters.Binary .__ BinaryParser.ReadObjectWithMa pTyped(BinaryHeaderEnum binaryHeaderEnum) 在System.Runtime.Serialization.Formatters.Binary .__ BinaryParser.Run() at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(Header Handler handler,__BinaryParser serParser,Boolean fCheck,Boolean isCrossAppDomain,IMethodCallMessage methodCallMessage) 在System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Str eam serializationStream,HeaderHandler handler,Boolean fCheck,Boolean isCrossAppDomain,IMethodCallMessage methodCallMessage) 在System.Runtime.Remoting.Channels.CrossAppDomainSerializer.DeserializeObject(Me moryStream stm) 在System.AppDomain.Deserialize(Byte [] blob) 在System.AppDomain.UnmarshalObject(Byte [] blob)

有关详细信息,请参阅http://go.microsoft.com/fwlink/events.asp上的“帮助和支持中心”。

使用FUSLOGVW.exe(即程序集绑定日志查看器),我可以看到问题是IIS尝试在目录C:\ windows \ system32 \ inetsrv中找到MyThirdPartyLibrary。它拒绝查看实际位于DLL的Web应用程序的bin文件夹。

有谁知道问题是什么?

谢谢,

卡尔文

1 个答案:

答案 0 :(得分:0)

迟到的答案,但也许有人正在努力解决这个问题......这就是我找到的:

Similar error on this question, which leads to some options

看起来真的错误对你来说是隐藏的。

1)您需要使用IIS Debug tool

2)Or build and use a module获取详细信息。