Ошибка: имя XXX не существует в пространстве имен 'clr-namespace: YYY' - PullRequest
2 голосов
/ 22 октября 2011

Я только что установил Blend 4 и пытаюсь использовать его с довольно большим проектом VS2010, который включает в себя пару сборок C ++ / CLI с некоторым собственным кодом. Для многих элементов управления я получаю сообщение об ошибке Blend, например «Имя XXX не существует в пространстве имен« clr-namespace: YYY »при попытке открыть представление конструктора.

Я искал в Интернете (включая этот форум) аналогичные ошибки и убедился, что следовал всем доступным предложениям, например, например. убедившись, что у меня есть конфигурация AnyCPU, что я не использую, например, «x64 \ Debug» в качестве выходной папки, и что у меня есть правильное объявление пространства имен в моем XAML (используя «сборку» в моем объявлении пространства имен clr).

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

Мне кажется, что проблема связана со сборками, которые ссылаются на любую из сборок C ++ / CLI, которая включает в себя некоторый неуправляемый код. Кажется, я не получаю сообщение об ошибке для сборок, которые ссылаются на сборки только с управляемым кодом.

Что может вызвать ошибки?

С уважением,

Leif


Небольшой ответ здесь, поэтому, возможно, мне следует немного переписать свой вопрос:

Кто-нибудь успешно использовал Expression Blend для проекта, в котором используются сборки с неуправляемым кодом?

С уважением, Leif

1 Ответ

1 голос
/ 24 января 2012
У

была похожая проблема: проект скомпилирован правильно без ошибок в VB 2010, но возникла ошибка при открытии его в Expression Blend 4 (кстати, красивый инструмент):

Имя XXX не соответствуетсуществует в пространстве имен "clr-namespace: YYY".

в строке:

<CollectionViewSource x:Key="YYYViewSource" d:DesignSource="{d:DesignInstance {x:Type my:YYY}, CreateList=True}" />

В моем случае это был Entity в моем edmx, FunctionImport с именем "YYY"с ComplexType "YYY_Result" и моим XAML-кодом на CollectionViewSource, ссылающимся на этот объект "YYY".

Этот XAML-код не генерировал ошибок в VB 2010, компилировался и работал отлично (скомпилировано также правильно в Blend)Однако в Blend отсутствует представление проекта.

Решение: Я осознал свою ошибку в x: Type в CollectionViewSource и исправил имя с "YYY" на "YYY_Result", и это сработало:

<CollectionViewSource x:Key="YYYViewSource" d:DesignSource="{d:DesignInstance {x:Type my:YYY_Result}, CreateList=True}" />

Вывод: возможно, этот ответ не совсем связан с вашей проблемой, касающейся сборок C ++ / CLI с неуправляемым собственным кодом, и, возможно, да.

Этот случай был просто хорошим примеромroject правильно компилируется в VB 2010, но тот же XAML, сгенерированный выше, сообщал об ошибке в Blend 4 при создании представления дизайна (многие пользователи сообщали об аналогичных проблемах на этом форуме).

...