none
Proyecto perdió imágenes e iconos RRS feed

  • Pregunta

  • Hola como va ?. Tengo un proyecto bastante avanzado donde tengo imágenes en formulario login y menú principal, y en los botones de todas las pantallas del proyecto iconos, al crear una nueva pantalla agregue un nuevo botón con un icono y me dio este error.

    Gravedad Código Descripción Proyecto Archivo Línea Estado suprimido
    Error Error inesperado en la tarea "GenerateResource".
    System.Runtime.InteropServices.ExternalException (0x80004005): Error genérico en GDI+.
       en System.Drawing.Image.Save(Stream stream, ImageCodecInfo encoder, EncoderParameters encoderParams)
       en System.Drawing.Image.Save(MemoryStream stream)
       en System.Drawing.Image.System.Runtime.Serialization.ISerializable.GetObjectData(SerializationInfo si, StreamingContext context)
       en System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter, SerializationBinder binder)
       en System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.Serialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter, SerializationBinder binder)
       en System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck)
       en System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck)
       en System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph)
       en System.Resources.ResourceWriter.WriteValue(ResourceTypeCode typeCode, Object value, BinaryWriter writer, IFormatter objFormatter)
       en System.Resources.ResourceWriter.Generate()
       en System.Resources.ResourceWriter.Dispose(Boolean disposing)
       en System.Resources.ResourceWriter.Dispose()
       en Microsoft.Build.Tasks.ProcessResourceFiles.WriteResources(ReaderInfo reader, IResourceWriter writer)
       en Microsoft.Build.Tasks.ProcessResourceFiles.WriteBinaryResources(ReaderInfo reader, String filename)
       en Microsoft.Build.Tasks.ProcessResourceFiles.WriteResources(ReaderInfo reader, String filename)
       en Microsoft.Build.Tasks.ProcessResourceFiles.ProcessFile(String inFile, String outFileOrDir)
       en Microsoft.Build.Tasks.ProcessResourceFiles.Run(TaskLoggingHelper log, ITaskItem[] assemblyFilesList, List`1 inputs, List`1 satelliteInputs, List`1 outputs, Boolean sourcePath, Boolean usePreserializedResources, String language, String namespacename, String resourcesNamespace, String filename, String classname, Boolean publicClass, Boolean extractingResWFiles, String resWOutputDirectory)
       en Microsoft.Build.Tasks.GenerateResource.Execute()
       en Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
       en Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() MEDIVER

    Aclaro que el proyecto se ejecutaba pero no mostraba ninguna imagen.

    Luego de leer un poco por ahí hablaban de que podría ser una sobrecarga del fichero de imagen por ser utilizado muchas veces, y recomendaban volver a crear el botón o la pantalla donde se produjo el error. Hice caso a la sujerencia y borre la nueva pantalla para ver si esto se corregía. Ahora cuando ejecuto me da este error.

    System.BadImageFormatException
      HResult=0x8007000B
      Mensaje = Archivo .resources dañado. No se pueden leer los recursos de este archivo porque la información del encabezado no es válida. Intente regenerar el archivo .resources.
      Origen = mscorlib
      Seguimiento de la pila:
       en System.Resources.ResourceReader.ReadResources()
       en System.Resources.ResourceReader..ctor(Stream stream, Dictionary`2 resCache)
       en System.Resources.RuntimeResourceSet..ctor(Stream stream)
       en System.Resources.ManifestBasedResourceGroveler.CreateResourceSet(Stream store, Assembly assembly)
       en System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(CultureInfo culture, Dictionary`2 localResourceSets, Boolean tryParents, Boolean createIfNotExists, StackCrawlMark& stackMark)
       en System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo requestedCulture, Boolean createIfNotExists, Boolean tryParents, StackCrawlMark& stackMark)
       en System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
       en System.Resources.ResourceManager.GetObject(String name, CultureInfo culture, Boolean wrapUnmanagedMemStream)
       en System.Resources.ResourceManager.GetObject(String name, CultureInfo culture)
       en MEDIVER.Properties.Resources.get_Símbolo_de_la_Fisioterapia_svg() en E:\desarrollos\Proyectos\MEDIVER\Properties\Resources.Designer.cs: línea 248
       en MEDIVER.Administracion.frmLogin.InitializeComponent() en E:\desarrollos\Proyectos\MEDIVER\Administracion\frmLogin.Designer.cs: línea 72
       en MEDIVER.Administracion.frmLogin..ctor() en E:\desarrollos\Proyectos\MEDIVER\Administracion\frmLogin.cs: línea 27
       en MEDIVER.Program.Main() en E:\desarrollos\Proyectos\MEDIVER\Program.cs: línea 20

      Esta excepción se generó originalmente en esta pila de llamadas:
        [Código externo]

    Excepción interna 1:
    EndOfStreamException: No se puede leer más allá del final de la secuencia.

     Y ahora el proyecto da ese error y no continua, no entiendo nada de ese error si alguien tiene alguna sugerencia agradecido.

    miércoles, 7 de abril de 2021 22:22

Respuestas

  • Hola al final encontré la solución. Por motivos que desconozco en algún momento se corrompe el archivo "Resource.resx", intente regenerar ese archivo y seguía con el mismo problema, entonces probé agregando las imágenes 1 a 1 para ver cual era el problema, y encontré que algunas imágenes provocaban el error, lo raro es que mientras realizaba el proyecto esas imágenes no daban error, leyendo por google, hablaban de una cantidad de tamaño permitido en memoria, así que supongo si una imagen grande andaba era porque estaba dentro de los limites permitidos (esto es una suposición), y luego al ir agregando pantallas y mas imágenes cualquiera podía dar el error si se supera ese limite (dicho sea de paso no se cual es), entonces edite algunas de las grandes, para reducir el tamaño y funciono, como ya tengo la cantidad completa de imágenes que necesito para los botones, login y menú principal, supongo que para mi la solución ya esta. Me preocupa en un futuro si en algún otro proyecto necesito mas y estaría bueno si alguien conoce o sabe como cambiar ese tamaño permitido si es que ese es realmente el problema. Saludos
    • Marcado como respuesta EnzoTuc40 domingo, 11 de abril de 2021 12:38
    domingo, 11 de abril de 2021 12:38

Todas las respuestas

  • Varias veces me pasó lo mismo con vs2010. No se si las versiones mas nuevas tienen el mismo problema. A mi me ocurrió cuando copiaba todo y lo pegaba en otra pc. Yo no le encontré solución.

    Veamos si alguien da alguna solución.

    Saludos

    jueves, 8 de abril de 2021 15:16
  • Hola al final encontré la solución. Por motivos que desconozco en algún momento se corrompe el archivo "Resource.resx", intente regenerar ese archivo y seguía con el mismo problema, entonces probé agregando las imágenes 1 a 1 para ver cual era el problema, y encontré que algunas imágenes provocaban el error, lo raro es que mientras realizaba el proyecto esas imágenes no daban error, leyendo por google, hablaban de una cantidad de tamaño permitido en memoria, así que supongo si una imagen grande andaba era porque estaba dentro de los limites permitidos (esto es una suposición), y luego al ir agregando pantallas y mas imágenes cualquiera podía dar el error si se supera ese limite (dicho sea de paso no se cual es), entonces edite algunas de las grandes, para reducir el tamaño y funciono, como ya tengo la cantidad completa de imágenes que necesito para los botones, login y menú principal, supongo que para mi la solución ya esta. Me preocupa en un futuro si en algún otro proyecto necesito mas y estaría bueno si alguien conoce o sabe como cambiar ese tamaño permitido si es que ese es realmente el problema. Saludos
    • Marcado como respuesta EnzoTuc40 domingo, 11 de abril de 2021 12:38
    domingo, 11 de abril de 2021 12:38