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

Старое пространство имен все еще находится в файле .g.cs при изменении пространства имен ссылочного класса

Я переименовал пространство имен ссылочного класса, и компилятор WPF не хочет его учитывать: он сохраняет префикс MyOldNameSpace в файле .g.cs:

[System.CodeDom.Compiler.GeneratedCodeAttribute
     ("PresentationBuildTasks", "4.0.0.0")]
public partial class MyClass: 
    MyOldNameSpace.MyReferencedClass, 
    System.Windows.Markup.IComponentConnector {

Почему? Как это исправить? Какой этот непонятный файл .g.cs?

4b9b3361

Ответ 1

Похоже, вы не изменили ваш файл MyClass.xaml. Там должно быть что-то вроде этого

<MyClass x:Class="MyOldNameSpace.MyReferencedClass"

но должен быть "My New NameSpace.MyReferencedClass"

Ответ 2

Закройте файл .g.cs. Вы даже можете удалить его.

g означает сгенерированное, VS генерирует проводку между кодом и Xaml в этом частичном классе.

Очистите решение и перестройте. Это должно исправить это.

Ответ 3

Не забудьте также изменить файл Generic.xaml,

<ResourceDictionary 
                   xmlns:local="clr-namespace:MyOldNameSpace">
</ResourceDictionary>

Ответ 4

В моем случае удаление obj-папки исправило ошибку.

Ответ 5

Также проверьте xmlns: local в Application.xaml. Это застало меня на некоторое время...

Ответ 6

Возможно, другой случай заключается в том, что действие сборки вашего xaml не является "страницей", а другими параметрами.