Fehler beim Anzeigen der Form im Designer

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Infinity.

    Fehler beim Anzeigen der Form im Designer

    Hi,

    ich habe ein Projekt, das enthält 2 Forms und ein Control und ich habe eine DLL als Verweis hinzugefügt.

    Das Control des Projekts verwendet wiederum ein Control das in der DLL-Datei enthalten ist und wenn man es im Designer anzeigen lässt funktioniert alles und es kommt kein Fehler.

    Versuch man es allerdings zu einer Form hinzuzufügen kommt folgende Fehlermeldung:
    Die Datei oder Assembly ""ControlLib", Version=0.2.0.0, Culture=neutral, PublicKeyToken=null" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden.

    und
    Die Variable ExplorerControl wurde nicht deklariert oder nicht zugeordnet.


    Was seltsam ist: Wenn ich das Projekt kompiliere und starte funktioniert es, ich kann den Designer des Controls aufrufen, nur den Designer der Form kann ich nicht aufrufen.

    Hat jemand eine Idee woran das liegen könnte?

    Versuche ich es mit Ignorieren und Fortfahren verschwindet das Control in der Form und ich kann es auch nicht mehr hinzufügen (dann kommt die selbe Meldung in Form einer MessageBox).
    Du kannst aber testen, ob Du Dich im Designemodus befindest und entsprechend reagieren:

    VB.NET-Quellcode

    1. If (Me.DesignMode) Then
    2. ' etwas tun oder nicht
    3. End If
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich weiß garnicht wo ich anfangen soll, diese if-Abfrage einzubauen. Es wird ja nicht mal etwas im Code (auch nicht in dem vom Designer generierten) als Fehler angezeigt bzw. es gibt keine Zeilenangabe für den Fehler.

    Das hier ist mal die Aufrufliste:

    bei MP4TagsEditor.ExplorerControl.InitializeComponent()
    bei MP4TagsEditor.ExplorerControl..ctor() in F:\Programmieren\Visual Studio 2010\Projects\Tools\MP4 Tags Editor\MPEG-4 Tags Editor\Controls\ExplorerControl.vb:Zeile 10.


    Was mich auch wundert ist das MP4TagsEditor.ExplorerControl..ctor(). Da fehlt doch was zwischen den Punkten und die ctor()-Prozedur wird weder in meinem Code noch von dem Designercode definiert.
    Das ist der Konstruktor von MP4TagsEditor.
    Klammere die Zugriffe auf das MP4TagsEditor-Objekt aus.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Alle Zugriffe auf das MP4TagsEditor-Objekt beziehen sich auf das ExplorerControl. Wenn ich die ausklammere ist es im Prinzip so als würde ich das ExplorerControl aus der Form löschen (was der Designer auch automatisch macht, wenn man auf "Ignorieren" geht.

    Wenn ich das ExplorerControl aus der ToolBox auf ein anderes Form ziehe kommt auch eine ähnliche Fehlermeldung.


    System.IO.FileNotFoundException: Die Datei oder Assembly [...] oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden.


    Allerdings befindet sich das Assembly im bin/Debug und bin/Release und auch im obj/Release und obj/Debug Verzeichnis. Deshalb verstehe ich nicht, warum sie nicht gefunden werden kann (was ja auch überall sonst in meiner Anwendung funktioniert, wo ich die DLL verwende).

    Wenn ich das ExplorerControl allerdings selbst im Designer anzeigen lasse funktioniert es und auch wenn ich das Projekt starte funktioniert alles wie es soll.

    EDIT: Habe das Problem umgangen, indem ich das Control ebenfalls in die DLL-Datei gepackt habe.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Infinity“ ()