2012-08-30 29 views
17

Así que estoy trabajando en VS12 en Windows 8 y pirateando el código de ContosoCookbook para crear una aplicación diferente. Estoy tratando de configurar una página "MainMenu.xaml" y en el que tengo:El nombre XXX no existe en el espacio de nombres YYY (XAML VS12 Windows 8)

 <CollectionViewSource 
     x:Name="groupedItemsViewSource" 
     Source="{Binding Groups}" 
     IsSourceGrouped="true" 
     ItemsPath="TopItems" 
     d:Source="{Binding AllGroups, Source={d:DesignInstance Type=data:FlashCardDataSource, IsDesignTimeCreatable=True}}"/> 

El error que estoy recibiendo es: El nombre "FlashCardDataSource" no existe en el espacio de nombres "por medio de: FlashCards.Data ".

... pero no entiendo cómo no funciona. ¿Dónde empiezo a buscar? Soy nuevo en XAML.

Ken

+0

¿Cuál es el 'xmlns' que tiene en la 'Página' de su aplicación? Parece un problema de espacio de nombres simple alrededor de las fuentes de datos de muestra que vienen con las plantillas de VS2012. – Mark

+0

¿ha encontrado la solución? – durilka

+0

No, lo siento, todavía no. He puesto esta aplicación en el estante por ahora, pero cuando regrese en las próximas semanas y tengo la respuesta, la publicaré. –

Respuesta

18

Si no es posible nada más, comente las líneas que usan el espacio de nombres, reconstruya y luego vuelva a compilar el proyecto completo.

También intenté reconstruir el proyecto, volviendo a abrir Visual Studio. Nada ayudó. Finalmente comencé xaml, reconstruí el proyecto, sin comentarios xaml y ¡finalmente funcionó! Extraño problema.

+0

Guau, eso funcionó. En mi caso, no pudo encontrar los tipos definidos en el mismo proyecto ... ¡Muchas gracias por el consejo! La lección: use VS después de su 5º SP. – AlexeiOst

+0

En mi caso, fue la línea 'xmlns: local =" clr-namespace: Foo.Bar "' que tuve que comentar/descomentar para sacar VS de su función; * no * la línea que hace referencia al espacio de nombres 'local' y donde se marcó el error (incorrecto). – dlf

2

¿trató de reconstruir su proyecto? Tal vez limpiar el proyecto y reconstruir de nuevo.

+0

Lo he intentado. Desinstaló la aplicación, limpió la solución y/o el proyecto. Tengo FlashCardDataSource como una clase pública y tengo un método del mismo nombre. No sé si me falta una referencia o qué estoy haciendo mal todavía. –

+2

Tuve el mismo problema y después de muchas dificultades no estoy seguro de si estaba reiniciando el VS11, limpiando el proyecto o eliminando temporalmente mc: Ignorable = "d" de la página que hizo que el VS11 se diera cuenta de que realmente existía. –

+0

Tuve este problema; intenté limpiarlo, etc. Pero reiniciar VS lo solucionó para mí –

5

Generalmente este error es causada por alguno de los siguientes:.

  1. No ha referido a la asamblea que la clase está en
  2. No ha actualizado la referencia a la asamblea después de la adición de la clase a ella.
  3. Está haciendo referencia a la versión incorrecta del conjunto.
  4. Hace referencia al archivo .DLL en lugar del proyecto (en el caso de que el proyecto sea parte de su solución)
  5. Hay un error de sintaxis en la clase a la que hace referencia.
12

Si la limpieza y la reconstrucción no ayudan, intente reiniciar Visual Studio. Trabajó para mi.

+0

Esto lo arregló para mí, gracias. – Kirschi

+1

+1. El mismo problema todavía está en VS2013 update3. Reiniciar Visual Studio es la única forma de resolver este problema cada vez. –

3

Comprobar todas las clases y archivos XAML para espacios de nombres (incluso en App.xaml y MainWindow.xaml). Asegúrese de no confundir el x:Class en el elemento superior del archivo con un espacio de nombre. A veces parece un error, pero es solo un espacio de nombre en alguna parte que es independiente de todo lo demás que mezcla todo.

0

En mi caso, Limpio todo el valor de la propiedad relativo a la vinculación que asigné por código en toda la clase, , luego todos se vuelven normales.

Creo que si le da valor a la propiedad, usar encuadernaciones al mismo tiempo en una posición incorrecta en clase causará problemas, por lo tanto, eliminar todo el código de asignación relativo a la propiedad puede ayudar.

0

Ninguno de los anteriores funcionó para mí, pero el simple hecho de agregar otra clase ficticia a la carpeta que contenía la clase que afirmaba que no existía parecía ser el truco. Tal vez hizo que VS tuviera otra mirada.

Cuestiones relacionadas