为什么生成的XAML会吐出不需要的命名空间?

Mat*_*mes 1 wpf xaml visual-studio

我有一个非常简单的XAML表单,它有一个名称空间定义.出于某种原因,当Visual Studio将XAML文件处理到它的组件.g.cs时,它在顶部粘贴了一堆我没有在XAML或后面的代码中要求的命名空间定义,并且它们是名称空间在我的项目中不再存在.因此该项目无法编译.

为什么Visual Studio在生成的XAML .g.cs文件中粘贴任意名称空间'using'语句?这导致我的整个项目破裂.这个.xaml文件没有一次引用有问题的名称空间,所以它更加令人讨厌.

小智 5

我之前发生过这件事.实际上,有几次.

我一直忘记的是,我深埋在我的项目中,我有一个名为XmlnsDefs.cs的小文件.

在该文件中,我有所有这些漂亮的整洁xmlns定义:

[assembly: XmlnsDefinition("http://www.HurrDurr.com/2010/Foo", "Foo.Bar")]
[assembly: XmlnsDefinition("http://www.HurrDurr.com/2010/Foo", "Foo.Bar.Baz")]
Run Code Online (Sandbox Code Playgroud)

每个人最终using都是我的xaml表单中的.g.cs文件.这很好用,除了我重构了一些名称空间.它打破了我的双向飞碟的软糖.但是,一旦我修改我的defs以匹配我当前的命名空间,一切都很顺利.一切都好.