tutorial - wpf presentacion
Visual Studio 2012 XAML diseñador inválido marcado (11)
Tengo un proyecto que contiene controles de usuario. Por alguna razón, la vista de diseño de la ventana que utiliza dichos controles ha dejado de funcionar e insiste en "Marcado no válido". El error que se da es que algunos miembros de los controles de usuario no son reconocidos o no son accesibles. Sin embargo, el proyecto compila y ejecuta muy bien. Al cargarlo en VS2010, el editor funciona bien, sin errores, igual en Expression Blend.
Hasta ahora he intentado limpiar, reconstruir, eliminar manualmente cosas de obj, actualizar el .xaml y reconstruir, intentar iniciar VS2012 con / resetuserdata y / resetsettings. El problema persiste. Incluso retrocedí a una revisión mucho más antigua de mi proyecto, cuando el diseñador estaba trabajando muy bien, sin dados: el mismo error. También intenté lanzar VS2012 como un nuevo usuario de Windows para evitar cualquier appdata almacenado que pudiera ser persistente, otra vez un no ir.
¿Hay algún otro tipo de caché o algo que pueda eliminar manualmente?
Acabo de tener el mismo problema (la compilación y ejecución del programa está bien, el diseñador XAML notifica un marcado no válido), el problema fue que accidentalmente cambié el nombre del ensamblado de uno de los proyectos en mi solución, lo cambié de nuevo y mi diseñador XAML volvió a la vida, así que revise la página de Propiedades de cada proyecto en su solución, y asegúrese de que el Nombre de la Asamblea sea como espera que sea.
Creo que no hay ningún problema en su proyecto, pero es un problema en VS 2012. Intente instalar la última actualización para VS 2012 (Actualización 2) y también verifique esta answer .
Saludos,
Debe volver a: codificar su xaml, abrir archivos con errores en ide -> guardar como -> guardar codificar (elija UTF8)
Eliminar todo en ShadowCache
C: / Users / username / AppData / Local / Microsoft / VisualStudio / 11.0 / Designer / ShadowCache /
Copias que se pueden pegar
Simplemente copie / pegue una de estas rutas en el Explorador de Windows. %LOCALAPPDATA%
es una variable de entorno de Windows que se reemplazará con el valor correspondiente cuando se ingrese en Explorer (también funciona en el símbolo del sistema )
VS2012
% LOCALAPPDATA% / Microsoft / VisualStudio / 11.0 / Designer / ShadowCache /
VS2013
% LOCALAPPDATA% / Microsoft / VisualStudio / 12.0 / Designer / ShadowCache /
VS2015
% LOCALAPPDATA% / Microsoft / VisualStudio / 14.0 / Designer / ShadowCache /
ASP.NET
Si desarrolla ASP.NET también elimine
% LOCALAPPDATA% / Microsoft / WebsiteCache
% LOCALAPPDATA% / Temp / VWDWebCache
En Visual Studio 2013, esta es una solución que estoy usando para mi Proyecto de Windows Phone, http://danielhindrikes.se/visual-studio/workaround-for-invalid-markup-problems-when-developing-for-windows-phone/ . Supongo que es el mismo diseñador que se usa al escribir XAML para WPF.
He intentado eliminar Shadow Cache pero solo funciona la primera vez que comienzo a Visual Studio, la solución anterior es lo único que me ayudó.
Es posible que haya agregado controles de usuario que no son compatibles o que haya agregado alguna relación incorrecta entre padres e hijos en sus controles de usuario. Intente eliminar los controles de usuario sospechosos y reconstruir el proyecto. Debe solucionar el problema. Aclamaciones
No estoy seguro de que esto solucione todos los casos, pero esto es lo que funcionó para mí (todo el tiempo ahora).
Tengo VS2012, utilizando el diseñador de Blend en el IDE, construyendo una aplicación x64, cuando definiría un nuevo ICommand y agregaría el atributo Comando, obtendría que el diseñador no es compatible con el error x64 (olvido la advertencia exacta). Si me cambio a x86, obtendré errores de marcado de XAML no válidos quejándose de que el ICommand no se reconoció o no se pudo acceder, sin importar cuántas veces reconstruyo en x64. Si cambio a x86, compilo, luego vuelvo a cambiar a x64, voila, no hay problemas con el diseñador.
Ahora recuerdo problemas similares con VS2008 y Blend versión 3 y 4. Por lo que he leído en otras publicaciones, el uso de Cualquier CPU también podría resolver el problema.
También hay un problema con el ShadowCache (usado para el diseñador de renderización) que no está sincronizado con tu XAML en VS2012. Acabo de descubrir esto, ya que estaba pasando un momento horrible con el siguiente error con los controles de usuario derivados:
La propiedad local XXXX solo se puede aplicar a los tipos que se derivan de YYYYY.
El caché en la sombra se encuentra en su directorio de perfil de usuario:
datos de la aplicación / Local / Microsoft / VisualStudio / 11.0 / Designer / ShadowCache
Puedes eliminar todo lo que hay allí y reiniciar VS2012. Después de eso, las cosas funcionaron mucho mejor (¡por lo menos por un tiempo!)
Tengo el mismo problema al usar controles con un constructor personalizado (sin parámetros).
Compruebe si el constructor de Control de Usuario / Personalizado no requiere ningún dato que el diseñador de WPF no tenga. Una espera rápida para comprobar que rodea todo el asunto con un retén de prueba, limpieza, reconstrucción y luego verifique si el problema está solucionado.
Si no lo está, intente comentarlo todo, excepto el código predeterminado de WPF Init, limpie, reconstruya y pruébelo.
Tengo el mismo problema con VS 2015 y 2017, pero solo si compilo solo para x64. Aquí es útil si cambio el destino de compilación (Propiedades del proyecto - Compilación, se llama Plattformziel en alemán) temporalmente a x86, compile para proyectar y cambie de nuevo a x64.
Tal vez esta sea una "solución" para cualquier otra persona.
Un poco tarde, pero hay algo más que considerar: si su constructor sin parámetros está realizando otro trabajo, como obtener datos que no existen porque está en el diseñador, agregue esto al inicio de su constructor:
if (DesignerProperties.GetIsInDesignMode(new System.Windows.DependencyObject())) return;
// Do work.
Esto es necesario porque el diseñador ejecuta su constructor sin parámetros que puede fallar en el modo de diseño y darle un marcado no válido.
Y, independientemente de lo que digan los demás, esto no es un error del analizador VS o WPF XAML. Me encontré con este problema hoy usando VS 2015, .Net 4.5.2.