我有一个非常简单的XAML表单,它有一个名称空间定义。出于某种原因,当Visual Studio将XAML文件处理到它的组件.g.cs时,它在顶部粘贴了一堆我没有在XAML或后面的代码中要求的命名空间定义,并且它们是名称空间在我的项目中不再存在。因此该项目无法编译。
为什么Visual Studio在我生成的XAML .g.cs文件中使用'using'语句中的任意命名空间?这导致我的整个项目破裂。这个.xaml文件没有一次引用有问题的命名空间,所以这很麻烦。
答案 0 :(得分: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")]
每个人在我的xaml表单的.g.cs文件中最终都是using
。这很好用,除了我重构了一些名称空间。它打破了我的双向飞碟的软糖。但是,一旦我修改我的defs以匹配我当前的命名空间,一切都很顺利。一切都很好。