WCF应用程序“无法找到SQLite的程序集”

时间:2010-10-01 14:38:01

标签: wcf iis sqlite system.data.sqlite

注意:这是一个已解决的问题,但我只花了4个小时来处理这个问题,所以我想分享解决方案。


当我尝试访问WCF服务时,该服务从不响应,并且事件日志显示以下内容:

  

发生了未处理的异常   这个过程终止了。

     

应用程序ID:DefaultDomain

     

流程ID:3180

     

例外:   System.Runtime.Serialization.SerializationException

     

消息:无法找到程序集   'System.Data.SQLite,Version = 1.0.66.0,   文化=中性,   公钥= db937bc2d44ff139' 。

     

StackTrace:at   System.Runtime.Serialization.Formatters.Binary.BinaryAssemblyInfo.GetAssembly()   在   System.Runtime.Serialization.Formatters.Binary.ObjectReader.GetType(BinaryAssemblyInfo   assemblyInfo,String name)at   System.Runtime.Serialization.Formatters.Binary.ObjectMap..ctor(字符串   objectName,String [] memberNames,   BinaryTypeEnum [] binaryTypeEnumA,   Object [] typeInformationA,Int32 []   memberAssemIds,ObjectReader   objectReader,Int32 objectId,   BinaryAssemblyInfo assemblyInfo,   SizedArray assemIdToAssemblyTable)
  在   System.Runtime.Serialization.Formatters.Binary ._ BinaryParser.ReadObjectWithMapTyped(BinaryObjectWithMapTyped   记录)   System.Runtime.Serialization.Formatters.Binary。 _BinaryParser.ReadObjectWithMapTyped(BinaryHeaderEnum   binaryHeaderEnum)at   System.Runtime.Serialization.Formatters.Binary .__ BinaryParser.Run()   在   System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler   处理程序,__BinaryParser serParser,   布尔值fCheck,布尔值   isCrossAppDomain,IMethodCallMessage   methodCallMessage)at   System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(流   serializationStream,HeaderHandler   handler,Boolean fCheck,Boolean   isCrossAppDomain,IMethodCallMessage   methodCallMessage)at   System.Runtime.Remoting.Channels.CrossAppDomainSerializer.DeserializeObject(MemoryStream的   stm)at   System.AppDomain.Deserialize(字节[]   blob)at   System.AppDomain.UnmarshalObject(字节[]   BLOB)


解决方案 就我而言,问题最终成为一个简单的错误数据库路径。但是,错误消息绝不反映实际原因,因此YMMV。

“错误连接字符串”异常未进入事件日志的原因似乎与this KB article有关。如果连接字符串不是您的问题,那么您最好的方法可能是按照本文中的步骤操作,这将导致IIS将异常写入事件日志。

0 个答案:

没有答案