Hallo Community,
ich habe ein Problem im VS2008-Forms-Designer.
Und zwar kann ich nach dem umbenennen des Typs eines meiner eigenen Controls (welches sich in einem eigenen Projekt befindet, die DLL wird signiert und in den GAC installiert) genau dieses Control nicht mehr im Designer hinzufügen.
Die Fehlermeldung, wenn ich es aus der Toolbox auf eine Form ziehe, lautet:
"Fehler beim Laden von Toolboxelement "MyTestControl". Es wird aus der Toolbox entfernt."
Bereinigen und neues Erstellen aller beteiligten Projekte habe ich schon probiert, hilft aber leider nicht.
Die Forumssuche hat das hier gebracht:
Fehler beim Laden von Toolboxelement
Allerdings nutze ich keine enum in meinem Control.
Ich habe es mittlerweile soweit herunterbrechen können, dass mein Control nur noch den folgenden Code enthält:
public class MyTestControl : Control
{
protected override void OnPaint(PaintEventArgs e)
{
e.Graphics.FillRectangle(Brushes.Aquamarine, e.ClipRectangle);
}
}
Zum einfacheren nachvollziehen habe ich mal die ganze Solution angehängt.
Zum reproduzieren muss man lediglich den Control-Typ von "MyTestControl" in zB. "MyTestControl2" umbenennen und dann versuchen eine Instanz davon im Designer einer Form hinzuzufügen.
Hat man vorm umbenennen schon eine Instanz zur Form hizugefügt kann man die Form nicht mehr öffnen und es erscheint die Meldung:
"Der Typ Test.MyTestControl wurde nicht gefunden. Stellen Sie sicher, dass auf die Assembly, die diesen Typ enthält, verwiesen wird. Wenn dieser Typ Teil Ihres Entwicklungsprojekts ist, stellen Sie sicher, dass das Projekt erfolgreich generiert wurde. "
Die Meldung hilft mir allerdings nicht weiter, denn die Assembly ist Teil der Solution, ist ordnungsmegäß referenziert und wurde auch erstellt.
Ausführen lässt sich das Projekt auch, und das Control wird angezeigt. Nur im Designer gibt es Probleme.
Auch Google hat mir nur die gleichen Tips gebracht, wie die Fehlermeldungen, nichts davon hilft.
Wenn ich den ursprünglichen Typnamen wieder herstelle, funktioniert es wieder.
Kommt mir fast so vor, als würde das .NET-Framework das irgendwo cachen oder so.
Hat jemand eine Idee, wie ich das Control mit dem neuen Typ-Namen zum funktionieren bekomme?
Es muss doch möglich sein den Typ eines Controls nachträglich umzubennen.
Oder übersehe ich irgendwas?
MfG