WPF: имя не существует в пространстве имен

Я создаю приложение C # / WPF с использованием VS2013, и у меня есть следующее определение classа (в той же сборке запущенного приложения):

namespace MyNamespace { public class MyKey { public MyKey() { } public string name = ""; } } 

В MainWindow.xaml у меня есть:

     ... 

VS продолжает сообщать, что

Имя «MyKey» не существует в пространстве имен «clr-namespace: MyNamespace»

Есть идеи?

PS Я пробовал следующие решения (из уже размещенных вопросов в stackoverflow), но никто из них не работал:

  1. Перемещение classа в другое пространство имен, а затем использование нового пространства имен в ссылке xaml
  2. Перезапуск VS и очистка / восстановление решения
  3. очистка решения, а затем переименование его папки, а затем создание решения снова
  4. изменение ссылки на:

XMLNS: локальные = “CLR-имена: MyNamespace; assembly =”

Редактировать: Дополнительная информация: Целевая архитектура: X64, целевая структура: .Net 4.5

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

  1. Если ваша текущая целевая платформа сборки равна x64, измените ее на x86. Если в настоящее время x86, измените на x64.

  2. Clean and Build для новой целевой платформы.

  3. Вернитесь на желаемую целевую платформу и перестройте.

У меня была такая же проблема в выпуске VS2012. Решил проблему с помощью команды

«WDExpress / ResetSettings» в командной строке vs2012.

https://stackoverflow.com/a/33706647/4855197

Одним из возможных решений является удаление всех DLL- файлов из папки Debug и Release .

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

Удалите все файлы из папки отладки и выпуска и снова создайте этот проект, теперь добавьте ссылку на этот проект туда, где хотите. Работала отлично на моем конце.

У меня была аналогичная проблема. Для меня это изменило свойства сборки проекта, которые были добавлены в качестве ссылки. Оказалось, что в прошлом «Платформа-мишень» была изменена. Установив его на «Любой процессор» и перестроив его, была устранена ошибка.

Выполнение VS Enterprise 2017 версии 15.6.2 Таргетинг .Net 4.6.1

У меня была такая же проблема на странице xaml UserControl, где в ее ресурсах она пыталась ссылаться на ValueConverter. Пространство имен было правильным, intellisense даже запустил бы его для вас, но дизайнер не загрузил страницу, и код не будет компилироваться. Я даже попытался переместить один из преобразователей значений из файла и пространства имен в вопрос и переместить его в код. VS был настолько взволнован, что требовал, чтобы метод InitializeComponent () в конструкторе кода был несуществующим.

Я думаю, наконец, что это исправлено для меня, когда я понял, что в classе ValueConverter отсутствует ведущий атрибут:

[ValueConversion (typeof (string), typeof (десятичный))]

Как только я добавил эту строку, я сделал быстрое решение, очистил и скомпилировал, а затем скомпилировал и обработал. Затем xaml вдруг увидит все правила проверки и преобразователи значений в этом файле. И теперь я понял, что другие 3 преобразователя ценности в этом файле также не имеют атрибута ValueConversion, но код все еще компилируется. Возможно, что-то о входящих типах в этом первом конверторе было неопределенным.

Это все еще одна загадка. Я знаю, что должен отменить свои изменения и посмотреть, воспроизводится ли ошибка, но после того, как я пробовал этот код большую часть дня, мне надоело смотреть на него. Это был старый проект Prism, который не работал, и я обновил его до Prism 7.0. Я также попытался сбросить все настройки процессора на «Любой процессор». Он жаловался, что загрузчик устарел, но я проигнорировал его. Я перезагрузился и очистил все несколько раз. Я даже удалил папку .vs. Вероятно, я должен был попытаться удалить удаленные файлы obj и bin – это единственное, чего я не сделал.

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

  • В чем разница между StaticResource и DynamicResource в WPF?
  • Являются ли "{Binding Path =.}" И "{Binding}" действительно равными
  • Обратный вызов, когда свойство зависимостей получает изменение xaml
  • WPF: привязка ContextMenu к команде MVVM
  • Почему обертки свойств .NET обойдены во время выполнения при настройке свойств зависимостей в XAML?
  • Как сортировать элементы TreeView с помощью SortDescriptions в Xaml?
  • WinRT и региональные настройки. Правильный способ форматирования дат и чисел на основе региональных настроек пользователя?
  • Как открыть всплывающее окно WPF при нажатии другого элемента управления, используя только разметку XAML?
  • Как создать пользовательский хром в wpf?
  • Связывание со статическим свойством
  • Редактирование одного клика в WPF DataGrid
  • Давайте будем гением компьютера.