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


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

Неопределенное пространство имен 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 { }
}

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


45


источник


Ответы:


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


52



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


38



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


18



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

сделай это:

  1. закрыть дизайнера
  2. rebuild-all (Alt + B + R) решение

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


12



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

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

9



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

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

Как я это исправил:

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


8



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

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


3



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

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

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

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


2



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


1



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


0