Подтвердить что ты не робот

URI "clr-namespace" относится к пространству имен, которое не входит в сборку

Я пытаюсь включить в свой XAML некоторые классы, которые преобразуют значения. Однако при компиляции я получаю следующую ошибку:

Undefined пространство имен CLR. URI "clr-namespace" относится к пространству имен "View.Summary.Converters", которое не входит в сборку. (View\View)

И XAML это ошибка:

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

Кроме того, вот схема моих классов/пространства имен преобразования:

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

    class VisibleIfNegative : IValueConverter { }

    class ErrorCodeToString : IValueConverter { }
}

Мне пришлось удалить мужество кода, потому что проект, над которым я работаю, очень конфиденциальен.

4b9b3361

Ответ 1

Я понял, что случилось. Хотя визуальная студия показала это как первую ошибку, на самом деле были и другие ошибки в моем кодировании, которые мешали конвертерам собираться. Таким образом, когда VS отправился на поиски сборки, ее там не было.

Ответ 2

перестройте решение, и ошибка исчезнет.

Ответ 3

Я просто решил это, изменив цель с x64 на x86. По-видимому, Visual Studio представляет собой 32-битный процесс и не может загружать 64-битные сборки, и если ваша сборка ориентирована на платформу x64, и вы добавляете какой-то пользовательский элемент управления, визуальная студия не может загрузить его и выбрасывает это сообщение.

Ответ 4

некоторая проблема с дизайнером vs2008

сделайте следующее:

  • закрыть конструктор
  • rebuild-all (Alt + B + R) решение

теперь не будет никаких ошибок.

Ответ 5

Если вы ссылаетесь на внешний проект, вы должны указать сборку, как она отображается в ссылках на проект:

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

Ответ 6

Я смог воспроизвести вашу проблему:

Я создал простой WF в .NET Framework 4.0. Переименовал файл xaml. В качестве части переименования файла xaml вы должны вручную переименовать имя исполняемого файла во время вызова объекта Invoke on WorkflowInvoker. Я строю проект. Я получил ошибку "URI" clr-namespace "URI относится к пространству имен" Система ", которое не входит в сборку".

Как я его исправил:

Открываю страницу свойств проекта. По какой-то причине целевой средой был переход от .NET framework 4.0 к версии 4.0 клиента. Итак, я выбрал .NET 4.0 и перестроил проект. Ошибка больше не существует.

Ответ 7

Убедитесь, что ваша конфигурация сборки имеет проект, выбранный для сборки в текущей (активной) конфигурации сборки.

У меня возникла эта проблема после того, как я начал работать с архитектурой Build (от x86 до x64), и основной проект wpf был отменен.

Ответ 8

Я столкнулся с этой проблемой в проекте С# для WPF. Кажется, это сгенерировано, когда вы закрыли проект с помощью последней попытки с ошибками любого типа во время вашего проекта даже в соответствующем пространстве имен, выпущенном в XAML.

Решение этого - исправить все .CS файлы (или исключить проблемные файлы XAML/CS), чтобы получить текущую версию Rebuild и запустить.

Мне потребовалось около 3 часов, чтобы понять, что версия Debug, над которой работает разработчик, должна быть неисправной. Вот почему во многих случаях люди решали это с помощью проекта Rebuild, но в тех случаях, когда у вас есть существующие ошибки кода в проекте, проблема не решит его самостоятельно, так как Rebuild не завершится и не заменит версию, поддерживаемую дизайнером.

надеется, что это поможет!

Ответ 9

Visual Studio продолжает возвращаться к путям нечетных файлов сборки. Просто удалите фактический файл ссылки, на который он ссылается, а затем добавьте его в проект

Ответ 10

У меня была такая же ошибка. Но, видимо, это было просто из-за пути решения, которое я пытался построить. Имя пути/каталога/папки содержит пробелы.