C# WPF名称空间混乱
我有两个需要从WPF窗口访问的CLR名称空间,它们的名称冲突C# WPF名称空间混乱,c#,wpf,xaml,namespaces,C#,Wpf,Xaml,Namespaces,我有两个需要从WPF窗口访问的CLR名称空间,它们的名称冲突 xmlns:ns1="clr-namespace:Namespace1.Namespace2.Namespace3.Namespace4;assembly=" xmlns:ns2="clr-namespace:Namespace2;assembly=Namespace2" 当我使用名称空间2中的任何内容时,例如 <Canvas> <ns2:MyControl ... /> </Canvas>
xmlns:ns1="clr-namespace:Namespace1.Namespace2.Namespace3.Namespace4;assembly="
xmlns:ns2="clr-namespace:Namespace2;assembly=Namespace2"
当我使用名称空间2中的任何内容时,例如
<Canvas>
<ns2:MyControl ... />
</Canvas>
我知道名称空间的命名不是很好,但是更改前者需要远离系统中其他地方使用的结构,而更改后者则需要更改系统的其他部分
是否有人对此有任何建议?
< P>如果您无法使用“XMLNS:”找到解决方案,那么您可以考虑使用<代码> XMLNSntase</C> >将多个CLRNAMSPACE映射为URI标识的XML命名空间,然后使用该URI引用CLR命名空间集合。 将XmlnsDefinition
放入包含要分组的CLR类型的每个程序集的AssemblyInfo.cs
[XmlnsDefinition("http://www.mycompany.com/appname", "Namespace1.Namespace2.Namespace3.Namespace4")]
[XmlnsDefinition("http://www.mycompany.com/appname", "Namespace2")]
xmlns:ns="http://www.mycompany.com/appname"
然后,它应该允许您使用公共前缀访问这些类型
另一方面,您可能忘了在项目中添加对Namespace2 DLL的引用
如果以上都不起作用,您能否更详细地描述一下您的项目结构,例如,您能否显示MyControl代码…它所在的位置…以及代码的名称空间语句。如果您无法使用“xmlns:找到解决方案:然后您可以考虑使用<代码> XMLNSntase< /COD>将多个CLRNAMSPACE映射为URI标识的XML命名空间,然后使用该URI引用CLR命名空间集合。 将
XmlnsDefinition
放入包含要分组的CLR类型的每个程序集的AssemblyInfo.cs
[XmlnsDefinition("http://www.mycompany.com/appname", "Namespace1.Namespace2.Namespace3.Namespace4")]
[XmlnsDefinition("http://www.mycompany.com/appname", "Namespace2")]
xmlns:ns="http://www.mycompany.com/appname"
然后,它应该允许您使用公共前缀访问这些类型
另一方面,您可能忘了在项目中添加对Namespace2 DLL的引用
如果以上都不起作用,你能再描述一下你的项目结构吗?例如,你能显示MyControl代码…它的所在位置…并显示代码的名称空间语句。在
xmlns:ns1
行中,你是真的省略了程序集的名称,还是只是这里的一个打字错误?我实际上省略了名称。它在同一个组件中。我知道我可以省去它,但我觉得省去它更为明确。@jamesj:据我所知,省去它并不总是可能的。你能展示一下实际的代码吗。上面有一些错误,可能是打字错误,也可能是确切的问题。@jamesj:但是,我想知道xmlns:ns2
是否在命名空间名称前面声明了clr namespace:
。在xmlns:ns1
行中,您是否确实省略了程序集的名称,或者这仅仅是一个打字错误?我实际上省略了这个名字。它在同一个组件中。我知道我可以省去它,但我觉得省去它更为明确。@jamesj:据我所知,省去它并不总是可能的。你能展示一下实际的代码吗。上面有一些错误,可能是打字错误,也可能是确切的问题。@jamesj:但是,我想知道xmlns:ns2
是否在名称空间名称前面声明了clr namespace:
。