2009-08-11 290 views
2

我有两个引用的程序之间的冲突的命名空间:别名和命名空间冲突

即,我引用Foo.A.Foo和Foo.Bar,所以当我说我要Foo.Bar .Control,VS正试图找到Foo.A.Foo.Bar.Control

我可以通过添加新的global:Foo.Bar.Control()来旋转Designer.cs代码,但只要我改变任何东西, VS切换回来。

我知道有关于直接向引用添加别名的一些信息,我试过了,但还没有设法找到正确的组合(内联别名,使用别名,引用别名)。

帮助?

回答

0

OK,这是没有答案的,但它是我找到了解决方法:

namespace FooBar 
{ 
    class FooBarControlHack : Foo.Bar.Control { } 
} 

这样我就可以在Designer.cs中执行以下操作:

this.fooBarControl = new FooBar.FoorBarControlHack(); 
0

"extern alias"可能是你的意思,但我不知道什么是设计师会用它做的,可惜...

我甚至不能确定这就是你,虽然之后在做什么 - 这是正常的来自不同程序集的两个类型具有相同的名称。

您可以编写名称空间别名,例如using directive,例如,

using FooControl = Foo.Bar.Control;

但同样,设计师是要重写代码...

+0

我不希望这是答案,(sob)! – Benjol 2009-08-18 07:15:20