Тег "xxx" не существует в пространстве имен XML "yyy" / Ссылка не найдена - PullRequest
24 голосов
/ 26 июня 2011

У меня есть пользовательский контроль winform, который я хочу добавить в проект wpf.

Я добавил соответствующие ссылки (WindowsFormsIntegration, SystemWindowsForms и мою пользовательскую библиотеку управления) и добавил эту строку в свой XAML:

xmlns:MyControl="clr-namespace:xx.xx.xx;assembly=xx.xx"

И тогда это:

<WindowsFormsHost><MyControl:control></MyControl:control></WindowsFormsHost>

Когда я пишу «MyControl:», автоматически отображается «элемент управления», что означает, что VS распознает элемент управления, и все ссылки добавлены в порядке ... но когда яскомпилируйте проект, это даст мне ошибку в заголовке.

Редактировать

Очень странно, когда я компилирую весь проект, у которого есть ошибка "Типили имя пространства имен "xx 'не может быть найдено ...", но я добавил все ссылки, и VS распознал пространство имен, так почему компилятор не нашел их? Если эта проблема будет решена, я верю, что другая проблема также исчезнет.

Ответы [ 6 ]

42 голосов
/ 27 декабря 2011

Решение: перейдите в свойства вашего проекта и измените Target Framework с Client Profile на полную версию .Net, которую вы используете, см. Изображение ниже.Эта проблема возникает, если ваша DLL предназначена для полной версии .NET Framework, а ваше приложение WPF (основной проект) - для .Net Client Profile.

Change Your Target Framework to the Full Version

21 голосов
/ 17 декабря 2013

Это случилось со мной, когда я включил имя сборки в определение пространства имен, но оба элемента управления были в одной сборке.Простое удаление сборочной части объявления пространства имен решило ее.

14 голосов
/ 19 июля 2011

Visual Studio будет загружать ссылку только для отражения, поэтому она будет правильно показывать правильный смысл. Но для того, чтобы скомпилировать, компилятору понадобятся все dll, от которых зависит ваша dll, на которую ссылаются. Таким образом, визуальная студия покажет intellisense для mycontrol, как это можно найти в справочной информации. Но ваш myontrol может ссылаться на другие библиотеки, которые вы, возможно, не добавили. Вы также должны будете добавить зависимые ссылки mycontrol в ваш проект.

5 голосов
/ 03 июля 2012

Также может быть, что целевая структура отличается в ваших проектах.Мы размещаем библиотеку классов dll со страницами WPF, и она была нацелена на «Любой процессор», а хост-приложение было нацелено на «x86».Как только они совпали, проблема исчезла.

1 голос
/ 19 июля 2011

Я столкнулся с тем же "Не удалось найти тип или имя пространства имен 'xx' ..." проблема.

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

0 голосов
/ 26 июня 2011

Я сталкивался с этой проблемой раньше, и замена <MyControl:control></MyControl:control> на <MyControl:control/> устранила ее для меня.

Не знаю почему, хотя. Похоже, что первая форма предназначена только для элементов управления, которые могут содержать другие элементы управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...