Я работаю над веб-приложением ASP.NET с использованием Visual Studio 2008 и сторонней библиотеки.
В моей среде разработки все хорошо. Все также хорошо, если веб-приложение развернуто в конфигурации отладки. Тем не менее при развертывании в режиме выпуска, SerializationExceptions появляются периодически, нарушая другие функции.
В журнале событий Windows видна следующая ошибка:
"Произошло необработанное исключение, и процесс был остановлен.
Идентификатор приложения: DefaultDomain
Идентификатор процесса: 3972
Исключение: System.Runtime.Serialization.SerializationException
Сообщение: не удается найти сборку 'MyThirdPartyLibrary, версия = 1.234.5.67, культура = нейтральная, PublicKeyToken = 3d67ed1f87d44c89'.
StackTrace: в 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, AssemblyTimesDesignedIn сборка объекта Intray, сборка объекта). )
в System.Runtime.Serialization.Formatters.Binary.ObjectMap.Create (Имя строки, String [] memberNames, BinaryTypeEnum [] binaryTypeEnumA, Object [] typeInformationA, Int32 [] memberAssemIds, ObjectReader objectReader, Int32 objectId, AssemblyTimesDesigned).
в System.Runtime.Serialization.Formatters.Binary .__ BinaryParser.ReadObjectWithMa pTyped (запись BinaryObjectWithMapTyped)
в System.Runtime.Serialization.Formatters.Binary .__ BinaryParser.ReadObjectWithMa pTyped (BinaryHeaderEnum binaryHeaderEnum)
в System.Runtime.Serialization.Formatters.Binary .__ BinaryParser.Run ()
в System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize (обработчик заголовка, __BinaryParser serParser, логический fCheck, логический isCrossAppDomain, IMethodCallMessage methodCallMessage)
в System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (Str serializationStream, обработчик HeaderHandler, логический fCheck, логический isCrossAppDomain, IMethodCallMessage methodCallMessage)
в System.Runtime.Remoting.Channels.CrossAppDomainSerializer.DeserializeObject (Me moryStream stm)
в System.AppDomain.Deserialize (байт [] блоб)
в System.AppDomain.UnmarshalObject (байт [] blob)
Для получения дополнительной информации см. Центр справки и поддержки по номеру http://go.microsoft.com/fwlink/events.asp."
.
Используя FUSLOGVW.exe (то есть средство просмотра журнала привязки сборки), я вижу проблему в том, что IIS пытается найти MyThirdPartyLibrary в каталоге C: \ windows \ system32 \ inetsrv. Он отказывается искать в папке bin веб-приложения, где на самом деле находится DLL.
Кто-нибудь знает в чем проблема?
Спасибо
Calvin