Solución:
Esto es un error. Yo también lo he visto. Sucede porque su archivo .resx apunta a la versión 4.0.0.0 de System.Drawing donde no existe. Para superar este problema, normalmente edito el .resx en el bloc de notas para cambiar 4.0.0.0 a 2.0.0.0. El error se introduce siguiendo los pasos exactos que ha descrito.
Encontré una posible solución, intente esto:
Abra el archivo resx en el Diseñador y configure el modificador de acceso de público a sin generación de código.
Editar: hay una solución, pero muy molesta.
- Abra el formulario en Designer y realice los cambios necesarios en la GUI. Cerrar diseñador y guardar
- Compile el proyecto y reciba el error de compilación RESX (solo los formularios con Imagelist deberían tener este problema)
- Haga doble clic en el error de compilación de resx para abrir el archivo resx.
- Desplácese hasta la parte superior de la secuencia de imágenes.
- Editar la línea superior del flujo de imágenes: AAEAAAD ///// ///// AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w A AAEAAAD AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
- Cierre y guarde el archivo resx y vuelva a compilarlo.
** NOTA: la única diferencia son los caracteres al final “j00LjAuMC4w ‘a” j0yLjAuMC4w “. Esto debe hacerse CADA VEZ que abra el formulario en modo Diseñador.
Microsoft dice que lo arreglarán en la próxima versión de VS …
Fuente: http://connect.microsoft.com/VisualStudio/feedback/details/532584/error-when-compiling-resx-file-seems-related-to-beta2-bug-5252020
Este problema puede ocurrir si se utiliza la vista previa de .net 4.5 resgen para crear los archivos de recursos.
Tengo el mismo problema en mi computadora portátil (Windows 7, VS2010 Premium, VS11 Developer Preview). Tengo este problema con un proyecto de formularios simples cuando digo ‘localizable = true’ en un formulario. En mi caso, no hay datos de imagen involucrados. El proyecto está configurado en .net 3.5
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.SuspendLayout();
//
// Form1
//
resources.ApplyResources(this, "$this"); //exception Could not load file or assembly 'System.Drawing, Version=4.0.0.0,
Si luego copio este proyecto en otra máquina (Windows 7, VS2010 Premium) e intento depurarlo, el error persiste. El error desaparece si limpio la solución (no el proyecto) (o elimino bin / obj a mano) Si luego copio esta solución en mi computadora portátil, el error desapareció, pero no puedo volver a ver el formulario en la vista de diseño 'Error message: at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.EnsureDocument(IDesignerSerializationManager manager)'
La razón de todo esto parece ser la versión .net en los archivos * .Designer.cs.
- Versión en tiempo de ejecución: 4.0.30319.239 en la computadora donde funciona,
- Versión en tiempo de ejecución: 4.0.30319.17020 en la computadora portátil donde obtengo la excepción.
¿Alguien puede decirme dónde puedo configurar qué versión de resgen se usa cuando se trata de proyectos .net 3.5?