У меня есть конфликт пространства имен между двумя ссылочными сборками:
i.e., я ссылаюсь на Foo.A.Foo и Foo.Bar, поэтому, когда я говорю, что хочу Foo.Bar.Control, VS пытается найти Foo.A.Foo.Bar.Control
Я могу свернуть код Designer.cs, добавив новый глобальный: Foo.Bar.Control(), но как только я что-то изменил, VS переключается обратно.
Я знаю что-то о добавлении псевдонимов непосредственно к ссылке, я пробовал, но мне не удалось найти правильную комбинацию (встроенный псевдоним, используя псевдоним, ссылочный псевдоним).
Справка
ОК, это не ответ, но это то, что я нашел для обходного пути:
namespace FooBar
{
class FooBarControlHack : Foo.Bar.Control { }
}
Поэтому я могу сделать следующее в Designer.cs:
this.fooBarControl = new FooBar.FoorBarControlHack();
"extern alias" может быть то, что вы имеете в виду, но я не уверен, что дизайнер сделает с ним, к сожалению...
Я даже не уверен, что вы после этого - обычно для двух типов из разных сборок с тем же именем.
Вы можете написать псевдонимы пространства имен с помощью с помощью директивы, например
с помощью FooControl = Foo.Bar.Control;
но, опять же, дизайнер перепишет ваш код...