在UserControl文件中更改名称空间后,... g.cs文件会出错

Edw*_*uay 18 wpf

我从另一个WPF项目中复制了三个类,然后更改了它们的名称空间.

现在,当我运行项目时,我在".g.cs"文件中出现错误,表明命名空间不正确.我更改了这个命名空间,但是当我再次编译并运行时,".g.cs"文件被重新生成并被旧命名空间版本覆盖,我再次收到错误.

什么是文件,如何使它们从当前文件重新生成而不是某些缓存,它显然在某处?

我删除了\ bin和\ obj目录并重建但仍然得到错误.

Joe*_*ite 39

.g.cs文件是从.xaml文件生成的.您需要更改.xaml文件中的x:class =属性以匹配新的名称空间限定的类名; 那么.g.cs将在下次编译时正确生成.(不要手动更改.g.cs文件 - 你只会让自己感到沮丧.)

例如,如果您以前在.cs中有此:

namespace Foo {
    class Bar { ...
Run Code Online (Sandbox Code Playgroud)

这在你的.xaml中:

<UserControl x:Class="Foo.Bar" ...
Run Code Online (Sandbox Code Playgroud)

然后你改变了命名空间:

namespace Baz {
    class Bar { ...
Run Code Online (Sandbox Code Playgroud)

然后,您需要将.xaml文件更改为:

<UserControl x:Class="Baz.Bar" ...
Run Code Online (Sandbox Code Playgroud)

  • 就是这样:只需要更改 x:class= 条目,一切又好了,谢谢! (2认同)

小智 9

我看到这是一个旧线程,但由于用户仍然偶尔会遇到这个问题,我想我会抛出另一个可能的原因.如果您有任何的xmlns:在您的XAML XX命名空间,你忽略更改命名空间时更新,那么这也将导致using语句在g.cs文件无效.


Chr*_*erd 6

我找到了另一种解决方法,删除你的'obj'文件夹并重建.