c# - realizo - El diseñador de estudio visual en x64 no funciona
visual studio no compila cambios (4)
Este es un error tanto en VS2008 como en VS2010.
Aquí está el informe de error:
Parece que no hay una solución para esto todavía.
En Visual Studio 2010 64bit no puedo diseñar mis formularios.
Sigo recibiendo esta advertencia (y error):
Warning 18
The designer could not be shown for this file because none of the classes within it can be designed. The designer inspected the following classes in the file:
MainForm --- The base class ''Blah'' could not be loaded. Ensure the assembly has been referenced and that all projects have been built.
Esto solo ocurre cuando compilo para x64 ... en x86 el diseñador funciona bien.
Solo quiero dejar en claro que NECESITO que el proyecto funcione en x64 porque muchos de los componentes del proyecto están compilados en x64 y no funcionarán si los formularios están en x86.
¿Alguien más ha encontrado esto y encontrado una solución?
Este par de enlaces de microsoft explican exactamente este problema: los reanudo: es una limitación para VisualStudio ya que no tiene una versión x64.
La solución propuesta por Microsoft es mover las clases base a un ensamblaje separado, compilado usando AnyCPU o x86 (si su proyecto real debe ser x64).
Desafortunadamente, esto se aplica a todas las clases base: si su herencia es FormC
: FormC
: FormB
, entonces FormB
y FormB
deben estar en un ensamblaje de 32 bits (externo), si desea editar FormC
en el diseñador.
Por supuesto, esto también se aplica a UserControls! Ojalá hubiera sabido esto antes de que nuestro equipo decidiera cambiar a 64 bits: un aviso al cambiar las opciones de compilación hubiera sido realmente bueno, Microsoft ...
Puedo reprochar su problema creando una aplicación WPF con un control de usuario (ponga el control de usuario en la aplicación wpf y compile x64).
Aquí está mi conjetura sobre lo que está pasando:
Visual Studio es una aplicación de 32 bits, el diseñador de WPF tiene que cargar los ensamblados a los que se hace referencia (usted ve ese comportamiento todo el tiempo cuando usa los controles de usuario, donde tiene que reconstruir para que el diseñador se actualice). Windows no admite un "procesador" entre 32 y 64 bits; debe ser una aplicación de 32 bits o una aplicación de 64 bits, sin compartir.
Como el diseñador de WPF es de 32 bits, los ensamblajes deben ser de 32 bits.
Aquí hay una posible solución: diseñe su aplicación con la opción "Cualquier CPU". Esto hará que su código sea JIT a 32 bits en plataformas de 32 bits y de 64 bits en plataformas de 64 bits.
- El diseñador trabajará en "cualquier cpu" porque los ensamblajes se ajustan a 32 bits.
- Cuando necesite depurar específicamente de 64 bits, cambie la configuración de su compilación a 64 bits (sabiendo que debe volver a la configuración de formulario de "32 bits o" cualquier CPU) "