martes, abril 22, 2008

Problemas con el diseñador de Windows Forms VS 2005

Hola amigos lectores, en la faena diaria del desarrollo, uno se enfrenta a varios obstaculos de distinta índole, pero uno de los mas bloqueantes es el que la IDE que empleas a veces te juegue una mala pasada, una de estas es cuando estas desarrollando aplicaciones en Windows Forms con Visual Studio 2005, el diseñador de formularios a veces te aparece una excepcion de este tipo:

Aqui la descripcion de la Excepción:

One or more errors encountered while loading the designer. The errors are listed below. Some errors can be fixed by rebuilding your project, while others may require code changes. TypeLoad failure. Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.

at System.Reflection.Module.GetTypesInternal(StackCrawlMark& stackMark)
at System.Reflection.Assembly.GetTypes()
at Microsoft.VisualStudio.Shell.Design.AssemblyObsoleteEventArgs..ctor(Assembly assembly)
at Microsoft.VisualStudio.Design.VSDynamicTypeService.ReloadAssemblyIfChanged(String codeBase)
at Microsoft.VisualStudio.Design.VSDynamicTypeService.CreateDynamicAssembly(String codeBase)
at Microsoft.VisualStudio.Design.VSTypeResolutionService.AssemblyEntry.get_Assembly()
at Microsoft.VisualStudio.Design.VSTypeResolutionService.AssemblyEntry.Search(String fullName, String typeName, Boolean ignoreTypeCase, Assembly& assembly, String description)
at Microsoft.VisualStudio.Design.VSTypeResolutionService.SearchProjectEntries(AssemblyName assemblyName, String typeName, Boolean ignoreTypeCase, Assembly& assembly)
at Microsoft.VisualStudio.Design.VSTypeResolutionService.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase, ReferenceType refType)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.AggregateTypeResolutionService.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.AggregateTypeResolutionService.GetType(String name, Boolean throwOnError)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.GetType(ITypeResolutionService trs, String name, Dictionary`2 names)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.FillStatementTable(IDesignerSerializationManager manager, IDictionary table, Dictionary`2 names, CodeStatementCollection statements, String className)
at System.ComponentModel.Design.Serialization.TypeCodeDomSerializer.Deserialize(IDesignerSerializationManager manager, CodeTypeDeclaration declaration)
at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.DeferredLoadHandler.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload)


Las primeras veces con F7 o Shift+F7 veia el codigo y retornaba a la ventana de diseño nuevamente, la cerraba y a partir del codigo con esas mismas teclas me mostraba la pantalla de diseño del formulario, esto lo hacia repetidas veces, y a la tercera siempre funcionaba!!!, pero en algunas oportunidades no tenia la misma suerte, y tenia que hacer un Rebuild a la Solucion o algunos proyectos que contengan controles personalizados empleados en el formulario en cuestión.

Pero esta solución a veces no bastaba y tenia que cerrar el Visual Studio y volverlo abrir, entonces me decidi a investigar un poco el tema para ver si encontraba una mejor solución al problema y me tope con esto: Microsoft Help and Support

Este link muestra una descripción del error asi como un link en la sección de HotFix Information para descargar el archivo, esto nos lleva a Microsoft Connect


y en el link que aparece en el grafico con el color naranja le dan click para descargar este parche, yo lo instale y la verdad que funcionó y no tengo más este tipo de molestias.

Nos vemos pronto.

1 comentario:

Anónimo dijo...

Gracias por la info.
lo acabo de instalar.