Подтвердить что ты не робот

Тег "xxx" не существует в пространстве имен XML "yyy" /Ссылка не найдена

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

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

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

И затем это:

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

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

Edit

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

4b9b3361

Ответ 1

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

Change Your Target Framework to the Full Version

Ответ 2

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

Ответ 3

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

Ответ 4

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

Ответ 5

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

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

Ответ 6

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

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