none
XMLSerializer error RRS feed

  • Pregunta

  • Buenas tardes

    Despues de una revision por parte de nuestro equipo de hosting, nos han mostrado que nuestra aplicacion web genera multiples errores, uno de los mas comunes y repetitivos es el que adjunto a continuacion,

    En otros foros recomiendan no utilizar esta dll por falta de documentacion y comportamientos erroneos.....

    Les agradeceria mucho cualquier informacion que me ayude a solucionar estos problemas.

    Muchas gracias por su ayuda.

    Could not load file or assembly 'mscorlib.XmlSerializers, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.   


    System.Reflection.RuntimeAssembly._nLoad(System.Reflection.AssemblyName, System.String, System.Security.Policy.Evidence, System.Reflection.RuntimeAssembly, System.Threading.StackCrawlMark ByRef, IntPtr, Boolean, Boolean, Boolean)
       System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(System.Reflection.AssemblyName, System.Security.Policy.Evidence, System.Reflection.RuntimeAssembly, System.Threading.StackCrawlMark ByRef, IntPtr, Boolean, Boolean, Boolean)
       System.Reflection.Assembly.Load(System.Reflection.AssemblyName)
       System.Xml.Serialization.TempAssembly.LoadGeneratedAssembly(System.Type, System.String, System.Xml.Serialization.XmlSerializerImplementation ByRef)


    jin

    martes, 9 de junio de 2015 20:00

Respuestas

  • En cualquier caso es una excepción que el propio .NET Framework se encarga de gestionar.

    Como te decía, cada vez que .NET tiene que serializar o deserializar un objeto genera un ensamblado temporal de nombre: <nombre_ensamblado_con_definición_del _objeto>.XmlSerializers. Ese es el ensamblado que no está encontrando. En principio el Framework si no lo encuentra lo genera al vuelo. 

    miércoles, 10 de junio de 2015 14:36

Todas las respuestas

  • hola

    de casualidad en tu codigo generas codigo dinamicamente o estas cargando alguna dll en runtime ?

    puedes localizar donde es que se produce el problema, quizas en alguna pagina en particular ?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 9 de junio de 2015 20:31
  • Hola Leandro, muchas gracias por tu respuesta,

    No señor no genero codigo dinamicamente, la rutina de serializacion la tengo en un metodo independiente, asi:

    public static string Serialize(object obj)
            {
                string output = string.Empty;
                StringWriter writer = new StringWriter();
                XmlSerializer objSerializer = new XmlSerializer(obj.GetType());
                objSerializer.Serialize(writer, obj);
                output = writer.ToString();
                return output;
            }

    y siempre que necesito serializar lo consumo, por esta razon lo consumo de muchas partes, pero el error nos lo da hosting y en la pila no se ve quien lo esta invocando, solo se ve el error.

    de nuevo gracias por tu ayuda


    jin

    martes, 9 de junio de 2015 23:20
  • hola... Presupongo que en vuestro entorno de desarrollo si que os funciona bien verdad? Entonces el problema está en el servidor del hosting. Deberían de verificar si tienen ese componente instalado o reinstalar el frk. O al menos te llevea a tu carpeta bin dicho componente

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    miércoles, 10 de junio de 2015 4:43
    Moderador
  • Buenos dias Sergio, gracias por tu respuesta,

    Efectivamente en el ambiente de desarrollo no sucede, pero en mi ambiente productivo pasa esporadicamnete no es un error recurrente, por eso mis provedor de hosting lo que hace es mandarme un resumen de los errores que se le registran en los servidores.

    Lo que he leido acerca de este error es que la clase XMLSerializer tiene este tipo de problemas y funcionamientos erroneos, pero me gustaria saber si es eso en realidad....

    de nuevo gracias por tu ayuda.


    jin

    miércoles, 10 de junio de 2015 14:01
  • Sí la clase XMLSerializer genera ensamblados temporales para serializar y desserializar objetos, y en ocasiones produce esta serie de errores.

    Hoy mismo me ha estado pasando con una aplicación en depuración. (Si depuras marcando que se detenga la ejecución en todo tipo de excepciones verás que también se generan en tiempo de depuración).

    En este caso te está pasando con la librería mscorlib así que no hay mucho que hacer. Si te pasa en un ensamblado propio (Could not load file or assembly '<tu_ensamblado>.XmlSerializers) puedes marcar, dentro de las opciones de compilación del proyecto, la opción de generar los ensamblados para serialización.

    miércoles, 10 de junio de 2015 14:17
  • No sé qué decirte con tu duda. Yo uso esa clase en varios proyectos en Producción (algunos 24x7) y no he tenido problemas con ella.

    Yo me pondría en contacto con tu proveedor para intentar solucionar el problema.


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    miércoles, 10 de junio de 2015 14:18
    Moderador
  • En cualquier caso es una excepción que el propio .NET Framework se encarga de gestionar.

    Como te decía, cada vez que .NET tiene que serializar o deserializar un objeto genera un ensamblado temporal de nombre: <nombre_ensamblado_con_definición_del _objeto>.XmlSerializers. Ese es el ensamblado que no está encontrando. En principio el Framework si no lo encuentra lo genera al vuelo. 

    miércoles, 10 de junio de 2015 14:36
  • Buenos dias Asier, muchas gracias por tu respuesta.

    Voy a revisar  y poner en practica lo de los ensamblados para serializacion.

    De nuevo gracias por tu ayuda.


    jin

    miércoles, 10 de junio de 2015 16:23
  • Buenos dias Sergio, gracias por tu respuesta,

    Mi aplicacion tambien es 7X24, y eso es lo que me tiene publicado por que al parecer esta teniendo problemas pero no es visible facilmente, te cuento que mi provedor de hosting fue el que me contacto a mi por que estaban pasando estos errores...

    como me explica Asier Villanueva en este mismo hilo al desactivar las opciones en debug el error pasa pero es omitido por el compilador.

    Muchas gracias por tu ayuda.


    jin

    miércoles, 10 de junio de 2015 16:26
  • Hola de Nuievo Asier,

    Si es claro lo que me explicas, pero todos estos errores lo visualizan los administradores de mi hosting y me lo reenvian como un error de la aplicacion.

    estoy cambiando lo que me recomendaste para generar los ensamblados para serializacion, y te comentare como me fue.


    jin

    miércoles, 10 de junio de 2015 16:29