2009-08-11 217 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