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 { }
}
Мне пришлось удалить мужество кода, потому что проект, над которым я работаю, очень конфиденциальен.
Ответы
Ответ 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
У меня была такая же ошибка. Но, видимо, это было просто из-за пути решения, которое я пытался построить.
Имя пути/каталога/папки содержит пробелы.