Entwickler-Ecke

WinForms - UserControl(DLL) kann nicht mit Designer verwendet werden.


Christoph1972 - Sa 11.09.10 17:09
Titel: UserControl(DLL) kann nicht mit Designer verwendet werden.
Hallo zusammen,

ich erstelle momentan ein Benutzersteuerelement und habe da ein massives Problem mit der ToolBox im Visual Studio 2005. Wenn ich das UserContol via Code verwende z.B.:


C#-Quelltext
1:
2:
OracleAccessControl c = new OracleAccessControl();
this.Controls.Add(c);


funktioniert die Komponente.Wenn ich das Control nun via Disigner aus der ToolBox aufziehe, bekomme ich eine Message:

Die Assembly "AltesProjektGibtsSchonLangeNichtMehr!", Version=1.0…., PublicKeyToken=null kann nicht gefunden werden.

Wenn ich mir den Designer-Code anschaue, gibt es kaum ein Unterschied, klar Location usw. wird da gesetzt.

Ich habe schon mehrfach die ToolBox zurückgesetzt, Verweis neu gesetzt, ich habe sogar das ganze DLL-Projekt neu erstellt. Ich erhalte immer wieder die Message auf das uralte Projekt, ich verstehe die Welt nicht mehr………

Hat hier jemand eine Idee wieso sich das Control nicht mit dem Designer aufziehen lässt?


danielf - So 12.09.10 13:38

Hallo,

was meinst du damit, die Verweise neu gesetzt? Im Solution Explorer?

Ein UserControl in der ToolBox musst du in der ToolBox einbinden, ansonsten hat es keine Auswirkungen. Füge im Toolbox mal ein neuen Reiter hinzu und verweise da auf dein neue Assembly.

Gruß


Christoph1972 - So 12.09.10 14:05

Das habe ich genauso gemacht. Ich bekomme die Message jetzt nicht mehr auf den alten Verweis sondern auf das aktuelle Projekt. Das auch nur, wenn ich das Control aufziehe, ansonsten funktioniert es jetzt. Kann man es irgendwie einrichtem, das der Code im Konstruktor nicht ausgeführt wird, wenn das Control aufgezogen wird? Im Konstruktor stosse ich eine deserialisierung an, die hier eigentlich keinen Sinn macht.


Kha - So 12.09.10 14:40

Dafür kannst du Component.DesignMode verwenden.


Christoph1972 - Mo 13.09.10 21:00

user profile iconKha hat folgendes geschrieben Zum zitierten Posting springen:
Dafür kannst du Component.DesignMode verwenden.


Super, danke für die Info! So einfach ist das aber leider nicht. Eigene Controls erstellen ist z.T. nicht so einfach, hätte ich nicht gedacht......


Ich kennzeichne den Thread mal erledigt, da das ursprüngliche Problem nicht mehr existiert, warum auch immer :nixweiss:

Also, vielen Dank soweit!