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

Я переименовал пространство имен ссылочного класса, и компилятор 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?

Ответы [ 6 ]

21 голосов
/ 26 января 2011

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

<MyClass x:Class="MyOldNameSpace.MyReferencedClass"

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

7 голосов
/ 26 января 2011

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

G обозначает сгенерированный, VS генерирует соединение между кодом и Xaml в этом частичном классе.

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

2 голосов
/ 06 октября 2016

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

2 голосов
/ 29 января 2015

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

2 голосов
/ 08 августа 2014

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

<ResourceDictionary 
                   xmlns:local="clr-namespace:MyOldNameSpace">
</ResourceDictionary>
1 голос
/ 06 мая 2011

Может быть, еще один случай, когда действие по сборке вашего xaml - это не "Page", а другие опции.

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