URI «clr-namespace» относится к пространству имен, которое не включено в сборку - PullRequest
49 голосов
/ 06 августа 2010

Я пытаюсь включить в свой 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 { }
}

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

Ответы [ 10 ]

54 голосов
/ 22 ноября 2010

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

38 голосов
/ 05 июля 2011

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

18 голосов
/ 06 августа 2010

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

12 голосов
/ 28 сентября 2011

некоторые проблемы с конструктором vs2008

сделать это:

  1. закрыть конструктор
  2. перестроить все (Alt + B + R) решение

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

11 голосов
/ 03 апреля 2014

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

xmlns:mdls="clr-namespace:MyProject.Models;assembly=MyProject.Models"
8 голосов
/ 24 марта 2011

Мне удалось воспроизвести вашу проблему:

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

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

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

3 голосов
/ 30 апреля 2012

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

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

2 голосов
/ 04 мая 2011

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

Решением этой проблемы является исправление всех файлов .CS (или исключение проблемных файлов XAML / CS) для получения работающей версии. Перестройте и запустите.

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

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

1 голос
/ 14 марта 2012

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

0 голосов
/ 02 октября 2012

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

...