Имя XXX не существует в пространстве имен YYY (XAML VS12 Windows 8)

17

Итак, я работаю в VS12 в Windows 8 и взламываю код ContosoCookbook, чтобы создать другое приложение. Я пытаюсь создать страницу «MainMenu.xaml», и у меня есть:

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

Ошибка, которую я получаю: Имя «FlashCardDataSource» не существует в пространстве имен «using: FlashCards.Data».

... но я не понимаю, как это не так. С чего начать? Я новичок в XAML.

Кен     

задан Ken Cone 30.08.2012 в 04:38
источник
  • что такое xmlns, который у вас есть на странице вашего приложения? Это похоже на простую проблему пространства имен вокруг выборочных источников данных, которые поставляются с шаблонами VS2012. –  Mark 30.08.2012 в 05:36
  • вы нашли решение? –  durilka 19.09.2012 в 20:57
  • Нет, извините, еще нет. Я сейчас положил это приложение на полку, но когда я вернусь к нему в ближайшие несколько недель, и у меня есть ответ, я отправлю его. –  Ken Cone 10.10.2012 в 04:22
  • Такая же проблема для меня, кроме работы на Win7. Приложение компилируется, но конструктор XAML подбрасывает. Сообщение об ошибке просто неверно; все там, где это должно быть и работает. –  Tom W 09.11.2012 в 17:42
  • Обновление: оказывается, Windows заблокировала файлы .dll. Открыв свойства файла затронутых файлов и вручную разблокировав каждую связанную DLL и их зависимости, исправлена ​​проблема. –  Timothy Groote 16.01.2014 в 11:32

7 ответов

19

Если ничего другого не возможно, прокомментируйте строки, которые используют пространство имен, перестроят, а затем снова создадут полный проект.

Я также попытался восстановить проект, повторно открыв Visual Studio. Ничего не помогло. Я, наконец, прокомментировал xaml , перестроил проект, uncommented xaml , и он наконец-то сработал! Странная проблема.

    
ответ дан gertrude 22.04.2014 в 09:00
источник
  • Ничего себе, это сделал трюк. В моем случае он не мог найти типы, определенные в одном проекте ... Большое спасибо за подсказку! Урок: используйте VS после 5-го SP. –  AlexeiOst 10.01.2015 в 00:19
  • В моем случае это была строка xmlns: local="clr-namespace: Foo.Bar", которую я должен был комментировать / раскомментировать, чтобы отключить VS из его func; а не в строке, которая ссылалась на локальное пространство имен и где (некорректная) ошибка была фактически отмечена. –  dlf 16.06.2015 в 14:53
12

Если очистка и перестройка не помогают, попробуйте перезапустить Visual Studio. Работал для меня.

    
ответ дан ApoorvaJ 12.06.2013 в 13:03
источник
  • Это исправило это для меня, спасибо. –  Kirschi 07.08.2013 в 14:18
  • +1. Эта же проблема все еще находится в VS2013 update3. Перезапуск визуальной студии - единственный способ решить эту проблему каждый раз. –  Ondra Peterka 11.10.2014 в 11:07
5

Обычно эта ошибка вызвана одним из следующих:

  1. Вы не ссылались на сборку, в которой находится класс.
  2. Вы не обновили ссылку на сборку после добавления класса к нему.
  3. Вы ссылаетесь на неправильную версию сборки.
  4. Вы ссылаетесь на файл .DLL вместо проекта (в случае, когда проект является частью вашего решения)
  5. В классе, на который вы ссылаетесь, есть синтаксическая ошибка.
ответ дан Captain Kenpachi 18.04.2013 в 14:58
источник
3

Проверяйте каждый класс и файл xaml для пространств имен (даже в App.xaml и MainWindow.xaml ). Убедитесь, что вы не путаете x:Class в верхнем элементе файла с пространством имен. Иногда это действительно похоже на ошибку, но это просто одно пространство имен, которое не зависит от всего остального, что смешивает все.

    
ответ дан QuantumHive 27.08.2014 в 12:26
источник
2

Вы пытались перестроить свой проект? Возможно, очистить проект и снова восстановить.

    
ответ дан Junfeng Dai 30.08.2012 в 04:44
источник
  • Я пробовал это. Удалено приложение, очищено решение и / или проект. У меня есть FlashCardDataSource как открытый класс и есть метод с тем же именем. Я не знаю, если мне не хватает ссылки или что я делаю неправильно еще. –  Ken Cone 30.08.2012 в 05:25
  • Имела ту же проблему и после многих проблем я не уверен, перезапустил ли она VS11, очистив проект или временно удалив mc: Ignorable="d" со страницы, которая заставила VS11 реализовать ее на самом деле. –  Sami Rajala 14.10.2012 в 13:04
  • У меня была эта проблема; попробовал очистку и т. д. Но перезапуск VS исправил его для меня –  Gordon Slysz 22.04.2014 в 20:31
0

В моем случае, Я очищаю все значение свойства относительно привязки, которую я назначаю кодом во всем классе, то все становится нормальным.

Я думаю, что если значение свойства, используемого в привязках в одно и то же время в некотором неправильном положении в классе, вызовет проблему, так что удалите все код назначения относительно свойства, который может помочь.

    
ответ дан yu yang Jian 23.11.2015 в 05:19
источник
0

Ни одно из вышеперечисленных не работало для меня, но просто добавление другого фиктивного класса в папку, содержащую класс, который, по его утверждению, не существовало, похоже, делал трюк. Возможно, это сделало VS еще взглядом.

    
ответ дан Tim 25.09.2016 в 18:07
источник