Je travaille sur une application Web ASP.NET à l'aide de Visual Studio 2008 et d'une bibliothèque tierce.SerializationException se produisant uniquement en mode de publication
Tout va bien dans mon environnement de développement. Les choses sont également bonnes si l'application Web est déployée dans la configuration de débogage. Cependant, quand il est déployé en mode Release, SerializationExceptions apparaît par intermittence, brisant d'autres fonctionnalités.
Dans le journal des événements Windows, l'erreur suivante peut être vu:
« Une exception non gérée a eu lieu et le processus a pris fin
ID d'application. DefaultDomain
ID du processus: 3972
Exception: System.Runtime.Serialization.SerializationException
Message: Impossible de trouver l'assembly ' MyThirdPartyLibrary, Version = 1.234.5.67, Culture = neutre, PublicKeyToken = 3d67ed1f87d44c89 '.
StackTrace: à System.Runtime.Serialization.Formatters.Binary.BinaryAssemblyInfo.GetAssembly() à System.Runtime.Serialization.Formatters.Binary.ObjectReader.GetType (BinaryAsse mblyInfo AssemblyInfo, String name) à System.Runtime .Serialization.Formatters.Binary.ObjectMap..ctor (Chaîne nom_objet, Chaîne [] membres_Nom, BinaryTypeEnum [] binaryTypeEnumA, Objet [] typeInformationA, Int32 [] memberAssemIds, ObjectReader objetReader, Int32 objectId, BinaryAssemblyInfo assemblyInfo, SizedArray assemIdToAssemblyTable) au système .Runtime.Serialization.Formatters.Binary.ObjectMap.Create (nom de chaîne, String [] memberNames, BinaryTypeEnum [] binaryTypeEnumA, Object [] typeInformationA, Int32 [] memberAssemIds, ObjectReader objetReader, Int32 objectId, BinaryAssemblyInfo assemblyInfo, Si zedArray assemIdToAssemblyTable) à System.Runtime.Serialization.Formatters.Binary .__ BinaryParser.ReadObjectWithMa pTyped (record 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 (en-tête gestionnaire Handler, __BinaryParser serParser, Boolean fcheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) à System.Runtime.Serialization. Formatters.Binary.BinaryFormatter.Deserialize (Chaîne serializationStream, Gestionnaire HeaderHandler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) at System.Runtime.Remoting.Channels.CrossAp pDomainSerializer.DeserializeObject (Me moryStream stm) à System.AppDomain.Deserialize (blob de Byte []) à (blob de Byte []) System.AppDomain.UnmarshalObject
Pour plus d'informations, consultez Aide et support à l'adresse http://go.microsoft.com/fwlink/events.asp. "
En utilisant FUSLOGVW.exe (c'est-à-dire, Assembly Binding Log Viewer), je peux voir le problème est que IIS tente de trouver MyThirdPartyLibrary dans le répertoire C: \ windows \ system32 \ inetsrv. Il refuse de regarder dans le dossier bin de l'application Web, où se trouve réellement la DLL.
Est-ce que quelqu'un sait quel est le problème?
Merci,
Calvin