2009-08-11 8 views
2

J'ai un conflit d'espace de noms entre deux ensembles référencés:conflit Alias ​​et espace de noms dans Designer Visual Studio

-à-dire, je fais référence Foo.A.Foo et Foo.Bar, donc quand je dis que je veux Foo.Bar .Control, VS essaie de trouver Foo.A.Foo.Bar.Control

Je peux manipuler le code Designer.cs en ajoutant un nouveau global: Foo.Bar.Control(), mais dès que je change quelque chose, VS revient en arrière.

Je sais qu'il y a quelque chose à propos de l'ajout d'alias directement à la référence, j'ai essayé mais je n'ai pas réussi à trouver la bonne combinaison (alias en ligne, alias, alias de référence).

Aide?

Répondre

0

OK, ce n'est pas la réponse, mais il est ce que je trouve une solution de contournement:

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

donc je peux faites ce qui suit dans le Designer.cs:

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

"extern alias" peut être ce que vous voulez dire, mais je ne suis pas sûr de ce que le concepteur fera avec, malheureusement ...

Je ne suis même pas sûr que ce soit ce que vous êtes après bien - c'est normalement deux types d'assemblages différents avec le même nom.

Vous pouvez écrire des alias d'espace de noms avec un using directive, par ex.

en utilisant FooControl = Foo.Bar.Control;

mais encore une fois, le concepteur va réécrire votre code ...

+0

Je ne veux pas que ce soit la réponse, (sanglot)! – Benjol