c# .net wpf xaml converter

c# - ivalueconverter wpf



El URI ''clr-namespace'' hace referencia a un espacio de nombres que no está incluido en el ensamblado (10)

Estoy tratando de incluir en mi XAML algunas clases que convierten valores. Sin embargo, obtengo el siguiente error cuando compilo:

Espacio de nombre CLR indefinido. El URI ''clr-namespace'' hace referencia a un espacio de nombres ''View.Summary.Converters'' que no está incluido en el ensamblado. (View / View)

Y el XAML está error en:

xmlns:c="clr-namespace:View.Summary.Converters"

Además, aquí está el resumen de mis clases de conversión / espacio de nombres:

namespace View.Summary.Converters { class CollapsedIfNegative : IValueConverter { } class VisibleIfNegative : IValueConverter { } class ErrorCodeToString : IValueConverter { } }

Tuve que eliminar las agallas del código porque el proyecto en el que estoy trabajando es muy confidencial.


Acabo de resolver esto cambiando el objetivo de x64 a x86. Aparentemente, Visual Studio es un proceso de 32 bits y no puede cargar ensamblajes de 64 bits, y si su ensamblado apunta a la plataforma x64 y usted agrega algún control visual visual studio no puede cargarlo y lanza este mensaje.


Me di cuenta de lo que estaba mal. Aunque Visual Studio mostró esto como el primer error, de hecho hubo otros errores con mi codificación que impedían que los convertidores se ensamblaran. Por lo tanto, cuando VS fue a buscar el ensamblaje, no estaba allí.


Me encontré con este problema en un proyecto C # WPF. Parece que se generó cuando cerró el proyecto con el último intento con Errores de cualquier tipo durante su proyecto, ni siquiera en el Espacio de nombres relevante en cuestión en XAML.

La solución a esto es arreglar todos los archivos .CS (O excluir los archivos problemáticos XAML / CS) para obtener una versión en ejecución Reconstruir y ejecutar.

Me llevó cerca de 3 horas descubrir que la versión de Debug en la que el diseñador parece estar ejecutándose debe estar defectuosa. Esta es la razón por la que en muchos casos las personas resolvieron esto con Rebuild project, pero en los casos en que tenga errores de código existentes en el proyecto, el problema no se solucionará dado que Rebuild no se completa y no reemplaza la versión compatible con Designer.

Espero que esto ayude!


Pude reproducir tu problema:

Creé un WF simple en .NET Framework 4.0. Renombrado el archivo xaml. Como parte del cambio de nombre del archivo xaml, debe renombrar manualmente el nombre de tiempo de ejecución del flujo de trabajo al invocar Invoke en el objeto WorkflowInvoker. Construyo el proyecto Obtuve el error "El URI ''clr-namespace'' se refiere a un espacio de nombres ''System'' que no está incluido en el ensamblado".

Cómo lo arreglé:

Abro la página de propiedades del proyecto. Por alguna razón, el marco de destino fue cambiar de .NET Framework 4.0 a la versión 4.0 del cliente. Entonces, seleccioné .NET 4.0 y reconstruí el proyecto. El error ya no existe.


Si hace referencia a un proyecto externo, debe especificar el ensamblaje tal como aparece en las referencias de su proyecto:

xmlns:mdls="clr-namespace:MyProject.Models;assembly=MyProject.Models"


Verifique que su configuración de compilación tenga el proyecto seleccionado para compilación en su configuración de compilación actual (activa).

Acabo de tener este problema después de jugar con la arquitectura de compilación (de x86 a x64) y el proyecto wpf principal había sido deseleccionado.


Visual Studio sigue volviendo a las rutas de archivos de ensamblaje impares. Simplemente elimine el archivo de referencia real al que hace referencia y luego agréguelo al proyecto


Yo tenía el mismo error. Pero aparentemente, fue solo por la ruta de la solución que estaba tratando de construir. Mi ruta / directorio / nombre de carpeta contiene algunos espacios.


algún problema con el diseñador vs2008

hacer esto:

  1. cerrar el diseñador
  2. Rebuild-all (Alt + B + R) la solución

ahora no habrá ningún error.


reconstruya la solución y el error desaparecerá.