【发布时间】:2012-09-06 06:31:18
【问题描述】:
我有两个需要从 WPF 窗口访问的 clrnamespace,它们的名称有冲突
xmlns:ns1="clr-namespace:Namespace1.Namespace2.Namespace3.Namespace4;assembly="
xmlns:ns2="clr-namespace:Namespace2;assembly=Namespace2"
当我去使用 Namespace2 中的任何东西时,例如
<Canvas>
<ns2:MyControl ... />
</Canvas>
我得到以下编译错误
The type or namespace name 'MyControl' does not exist in the namespace 'Namespace1.Namespace2' (are you missing an assembly reference?)
我知道命名空间的命名不是很好,但是更改前者需要远离系统其他地方使用的结构,而更改后者需要更改系统的其他部分。
有人对解决这个问题有什么建议吗?
【问题讨论】:
-
在
xmlns:ns1行中,您实际上是省略了程序集的名称,还是只是这里的错字? -
我实际上省略了名字。它在同一个程序集中。我知道我可以忽略它,但我觉得把它留在里面更明确。
-
@jamesj:根据this discussion,甚至不总是可以忽略它。
-
能否请您显示实际代码。上面有错误,可能是输入错误,也可能是确切的问题。
-
@jamesj:不过,我想知道
xmlns:ns2是否在命名空间名称前没有clr-namespace:的情况下实际声明。
标签: c# wpf xaml namespaces