2013-06-20 4 views
1

Редактировать: Кажется, это просто ошибка. Если кто-то хочет вдаваться в подробности, не стесняйтесь получать более подробную информацию.ошибки clr-namesapce в WPF (переименованное пространство имен)

У меня возникла странная проблема. Первоначально все работало нормально. Я помню, что я объявил пространство имен:

x:Class="SePSI.MainWindow"   
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:local="clr-namespace:SePSI;assembly=SePSI" 

Но теперь, я получаю сообщение об ошибке, что говорит:

Undefined CLR namespace. The 'clr-namespace' URI refers to a namespace 'SePSI' that is not included in the assembly.

Фактически, я открыл старые проекты, все из которых имеют одинаковые ошибки. [EDIT: Ну, другие проекты сейчас работают нормально.]

Я использую vs2010. Должен ли я повторно установить VS?

Что может быть неправильным?

EDIT: больше информации, я изменил имена пространств имен, и, насколько я думаю, я повсюду менялся. Я создал новый проект, где пространство имен xmlns работает нормально, но затем я изменил имя пространства имен и ту же ошибку.

Я сделал точно такую ​​же копию этого проекта, и там он отлично работает. Мне просто интересно, что пошло не так со старым файлом.

+0

Вы уверены, что пользовательское пространство имен объявлено правильно? Попробуйте что-то вроде 'xmlns: local =" clr-namespace: SePSI; assembly = SePSI "' ... – khellang

+0

Да, это была глупая опечатка. основная проблема остается. – Naresh

ответ

0

Когда вы занимаетесь пространством имен в xaml, он использует два типа stratergies для разрешения имен.

Решите объект из того же проекта, который только что соединен с пространствами имен. как.

xmlns:local="clr-namespace;myproject"

другой способ использования пространств имен Into XAML, который refring других сборок эти узлы должны быть включены в проект.

xmlns:xceed="clr-namespace:Xceed.Wpf.Toolkit;assembly=WPFToolkit.Extended"" 

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

и последняя используют пользовательское имя spaceing как

xmlns:tk="http://schemas.xceed.com/wpf/xaml/toolkit" 

, чтобы вы использовали сборочные пространства имен. убедитесь, что вы включили эту сборку.

+0

; ?? CLR-имен; MyProject ?? – Naresh

+0

вопросы отредактированы btw – Naresh

+0

попробуйте только с xmlns: local = "clr-namespace: SePSI". как я вижу, вы включили то же имя сборки, в котором вы работаете. если вы добавите имя сборки, рендер будет искать другую сборку с именем SePSI. – JSJ

Смежные вопросы