2011-03-29 18 views
11

Tengo el siguiente:Indefinido CLR espacio de nombres

Error! Error!

dice El error El 'clr-espacio de nombres' URI se refiere a un espacio de nombres '{0}' que no está incluido en el conjunto.

He construido y reconstruido, pero no pasa nada. Estoy seguro de que esto debe funcionar, porque una aplicación de demostración de WPF que descargué tiene todo lo mismo. ¿Que esta pasando?

+2

Lo que está pasando es que el diseñador es un poco rudo y tiene muchos problemas como ese. En otras palabras, no eres tú, es Visual Studio. –

Respuesta

19

Asumiendo que su carpeta de modelo de vista no está vacío (o en realidad no es un tipo con BlooblieBlablie.ViewModel como espacio de nombres), y BlooblieBlablie es el nombre de ensamblado, el siguiente debería funcionar:

xmlns:vm="clr-namespace:BlooblieBlablie.ViewModel;assembly=BlooblieBlablie" 
+1

La parte de ensamblaje no es necesaria ya que el espacio de nombres está en el mismo ensamblaje que el archivo XAML. –

+0

Ah, entendí la idea por lo que dijiste: "o realmente hay un tipo con BlooblieBlablie.ViewModel como su espacio de nombres". Este es el problema: la clase en la carpeta ViewModel realmente necesitaba un AssemblyName que fuera AssemblyName.ViewModel. Entonces debería funcionar –

+0

@Daniel: Ah, no lo sabía, para ser sincero. Empecé especificando la parte de ensamblaje desde el principio, y seguí haciéndolo desde entonces. –

1

Bueno, por lo que puedo ver, ese espacio de nombres simplemente no existe ;-) En su carpeta ViewModel no hay ningún archivo. Y sin archivo, no hay espacio de nombres. Los espacios de nombres no están definidos por la estructura de la carpeta sino por los archivos fuente.

+0

Hice esta captura de pantalla para ser un poco más fácil de ver. En mi aplicación real, tengo algo en mi carpeta ViewModel, a saber, una clase llamada ViewModel.cs. –

+1

¿Y está seguro de que el espacio de nombre en ese archivo dice 'BlooblieBlablie.ViewModel'? –

+0

¡Gracias por guiarme en la dirección correcta! –

1

A juzgar por la captura de pantalla, su carpeta ViewModel parece estar vacía. Si no hay clases en el espacio de nombres BlooblieBlablie.ViewModel, el espacio de nombres aún no existe.

+0

Hice esta captura de pantalla para ser un poco más fácil de ver. En mi aplicación real, tengo algo en mi carpeta ViewModel, a saber, una clase llamada ViewModel.cs. –

+0

Gracias por la respuesta :-) –

2

que tenían el mismo problema y lo resolvió por no tener mi proyecto en un camino con marca de almohadilla.

por ejemplo D: #Temp tenía que ser D: \ Temp

Creo que hay alguien en Microsoft después de haber perdido una EscapedCodeBase en conjunto con el URI.

+0

¡Gracias, esto me ayudó! – domiSchenk

+0

Gracias, parece funcionar bien aquí. –

1

Lo encontré después de un bloqueo de Windows 7 cuando estaba en solución en Visual Studio 2008. Parece que ha bloqueado la configuración de inicio. Restablecí esto y luego podría encontrar el espacio de nombres. Esta es una de las causas, probablemente no la más importante, pero solo en caso de que tenga la misma.

1

Recibí el mismo mensaje de error. Pero el problema subyacente era diferente. Moví mi MainWindow.xaml a una carpeta diferente y olvidé actualizar mi App.xaml StartupUri. Luego actualicé mi StartupUri en mi App.xaml y se solucionó el problema.

0

He tenido el mismo problema, el mío fue autoinfligido debido a la copia y pegado del código de otra fuente en mi proyecto y el cambio de nombre de objetos como lo hice sin construir primero.

Por lo tanto, esto significa Visual Studio o el compilador no recogen las referencias incorrectas (por ejemplo, en mi código que tenía esto:

MyObect mo = new MyObect(); 

Cuando he copiado el código otra vez, he corregido la ortografía de MyObect al MyObject pero, Visual Studio todavía hace referencia a MyObect y no dio ninguna advertencia al respecto. Y este código era parte de un archivo .XAML y, como tal, no solo recibí el mensaje de error que era, sino también .g También errores .cs Todos apuntan a incorrectos razones.

Esto también fue ocurriendo en el ResourceDictionary (dentro de mis declaraciones DataTemplate para todas las uniones a mi VM)

1

también verifican la "BuildAction" de los archivos .xaml (ver las propiedades del archivo). Debería ser "Página". Después de mover archivos y renombrar el espacio de nombres, esta configuración cambió de alguna manera a "CodeAnalysisDictionary". Esto también responde a este error.

0

Tuve el mismo problema hoy después de que tuve que cambiar el nombre de la clase (y archivar con ella) en el espacio de nombres. Así que pude resolverlo borrando el archivo .sln, luego ejecuté .csproj y recreé .sln file.

Cuestiones relacionadas