2011-03-15 21 views
5

cada vez que abrimos un archivo * .xaml en nuestro proyecto - vemos que no funciona el diseñador y muchos mensajes 'tipo no encontrado' 'ensamblado no encontrado' etc. Después de un par de experimentos, descubrió una raíz de un problema: crear nueva aplicación WPF, crear una carpeta en el proyecto raíz, agregar algún convertidor de valor a la carpeta, intente utilizarlo en su 'MainWindow.xaml'wpf xaml error de diseño

es probable que escriba algo como esto :

xmlns:Folder="clr-namespace:WpfApp.Folder" 

y luego

<Window.Resources> 
     <Folder:SomeValueConverter x:Key="someKey"/> 
    </Window.Resources> 

Usted sabe ...

Y, ahora lo más interesante! cuando construya su proyecto para x86 o 'cualquier CPU': todo estará bien, el diseñador estará disponible, todos los espacios de nombres serán importados perfectamente! PERO, simplemente cambie la configuración del proyecto a x64 ... Reconstruya la solución y abra la vista de diseño ... Se sorprenderá ... errores, tipos no encontrados, etc ... ¿Cómo demonios usar el diseñador VS xaml en aplicaciones x64?

Windows 7 x64 empresa, Visual Studio 2010 Ultimate

+0

Aaaa y un error de ejemplo sería ..... – Will

+0

* Espacio de nombre CLR indefinido. El URI 'clr-namespace' hace referencia a un espacio de nombres 'WpfInteractive.Folder' que no está incluido en el assemblyError * No se encontró el tipo 'Folder: SomeConverter'. Verifique que no le falta una referencia de ensamblado y que todos los ensamblados a los que se hace referencia han sido construidos. –

Respuesta

12

Others have reported the same problem. Uno de los workarounds sugerido fue realizar el trabajo de diseño con un objetivo de 32 bits, y luego cambiar a 64 bits solo cuando esté listo para compilar e implementar.

+0

Gracias por el enlace, aún no he visto este tema ... –

+0

¡Gracias! Esto resolvió mi problema. –

+0

Esto resolvió mi problema. –

0

En mi caso, estaba usando un ofuscador (ConfuserEx para ser exactos) como un paso posterior a la compilación en la configuración de versión que causaba este comportamiento. El cambio a la configuración de depuración solucionó el problema. De forma alternativa, eliminar el paso posterior a la creación también solucionará el problema.