Das Objekt mit dem Typ "X" kann nicht in den Typ "X" konvertiert werden?!



  • Hallo!

    Ich habe mir ein Custom Control gebastelt. Es stellt ein Menü da und hat das public Propertie "Items" (List<DesignerMainItemClass>). Wenn ich also im Designer dieser Liste Einträge hinzufüge, werden die Elemente auch in der Design-Time angezeigt und auch im Programm wo das Custom Control genutzt wird werden die Elemente hinzugefügt. Funktioniert also eigentlich alles so wie es sein sollte, aber
    und ich weiß nicht warum, bekomme ich immer nach einer gewissen Zeit diesen Fehler im Designer angezeigt:

    Warnung 9 Die ResX-Datei: Das Objekt mit dem Typ MenuList.DesignerMainItemClass[] kann nicht in den Typ MenuList.DesignerMainItemClass[] konvertiert werden. Zeile 131, Position 5. kann nicht analysiert werden. 131 0

    Das Objekt mit dem Typ MenuList.DesignerMainItemClass[] kann nicht in den Typ MenuList.DesignerMainItemClass[] konvertiert werden.
    Ausblenden

    Das ganze kann ich dann nur noch auflösen indem ich den Eintrag aus des ResX-Datei und den entsprechende Eintrag aus der MenuList.designer.cs entferne.
    Aber dadurch gehen mir ja alle Alemente in meinem Menü verloren und jedes mal 20 Menüpunkte komplett einzustellen mit Icons, HoverBildern, Name usw. habe ich keine Lust.

    Ich habe darauf hin gegooglet und diesen Eintrag hier gefunden:
    http://www.dotnetpro.de/newsgroups/newsgroupthread.aspx?id=6622

    Allerdings werd ich aus der Antwort nicht so ganz schlau!
    Dort ist die Rede von:

    "Die einzige Loesung, die wir damals parat hatten, war das Control und die Logik in ein und diesselbe dll zu packen - sonst gings nicht. "

    Aber wie ist das gemeint? Ich mein ich habe meine Projektmappe, dort sind mein Hauptprojekt sowie einige Custom Controls als eigenständige Projekte.

    Ich habe bei VS2010 die autoToolBoxPopulate Funktion aktiviert. Dadurch sehe ich sofort in alle meinen Projekten meine Custom Controls.

    Also sollte ich das lieber wieder deaktivieren und meine Controls manuell in die Toolbox einbinden, damit nicht 2 dll's geladen sind?

    Bin irgentwie ratlos!
    Danke für eure Hilfe!

    Gruß



  • Schau mal ob du beim Auftreten des Fehlers den Quellcode für das Control noch irgendwo in der IDE offen hast. Hatte schon oft solch ein Problem gerade dadurch. Der code des Controls wurde geändert, die Toolbox hat nun 2 unterschiedliche versionen. Die Lokal in deinen Projekt mit dem Quellcode, und diese in deiner Toolbox. Dadurch sind die Klassen nicht mehr miteinander Kompatibel. Meist hat es bei uns geholfen. Alle Dateien aus der Bibliothek welche die Controls enthält zu schließen. Die DLL mit den Controls neu bauen und die Controls neu in die Toolbox laden. Kann aber sein das dies nicht immer hilft.



  • Erinnert mich etwas an das WPFToolkit.

    - Hauptprojekt
    -> Erzeugt die Exe
    -> Zieht nebenprojekt an
    -> Zieht die WPFToolkit dll nicht an

    - Nebenprojekt
    -> Erzeugt eine Dll
    -> Zieht die WPFToolkit an

    Bei dieser Konstellation funktionierte es manchmal einfach nicht, man muss dann die WPFToolkit auch im Hauptprojekt referenzieren, auch wenn man es dort nicht direkt verwendet.


Anmelden zum Antworten