Verschiedene Projekte in einem vereinen

  • VB.NET
  • .NET (FX) 4.0

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

    Verschiedene Projekte in einem vereinen

    Moin Leute,
    kurze Frage zwischendurch auf die ich bis jetzt noch keine richtige Antwort gefunden habe:

    Ich erstelle heute Projekt A mit dem ich Code auslese und morgen Projekt B mit dem ich PLZ zuordne.

    Jetzt habe ich irgendwann 10 verschiedene Programme, die ich alle in einer Exe bzw auf einer Form vereinen möchte. Tab control switchen oder sonst irgendwas.

    Wie regelt man das professionell?
    Jemand eine Idee wie man das richtig macht?
    ~Wir leben zwar alle unter dem gleichen Himmel, aber es haben nicht alle den gleichen Horizont~
    Du könntest die Projekte die du in einem Endprojekt implementieren willst so gestalten:

    Projekt A : Code auslesen : Klassenbibliothek
    Projekt B : PLZ zuordnen : Klassenbibliothek

    Projekt Produkt : Vereinen von den Anwendungen : Windows-Applikation
    So kannst du nun die erzeugten Klassenbibliotheken einbinden und die Elemente in diesen aufrufen lassen.

    Hier nochmal ein Beispiel:

    Klasse1.vb in Projekt A "Auslesen":

    VB.NET-Quellcode

    1. Public Class Klasse1
    2. Public Sub Auslesen(ByVal Argument1 As Object, [...])
    3. [...]
    4. End Sub
    5. End Class


    Klasse2.vb in Projekt B "Zuordnen":

    VB.NET-Quellcode

    1. Public Class Klasse2
    2. Public Sub Zuordnen(ByVal Argument1 As Object, [...])
    3. [...]
    4. End Sub
    5. End Class


    Und nun kannst du die erzeugten DLL's einbinden. In dem beispielhaften Fall: "Auslesen.dll" und "Zuordnen.dll".
    In dem Endprojekt kannst sie nun aufrufen:

    VB.NET-Quellcode

    1. Public Class EndProjekt
    2. Public Sub Methode([...])
    3. Dim x As New Auslesen
    4. Dim y As New Zuordnen
    5. x.Auslesen([...])
    6. y.Zuordnen([...])
    7. End Sub
    8. End Class


    LG MDev

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „MDev“ ()

    @razzzer530i Das geht nur, wenn Du genau ein Hauptprogramm (WinForms, WPF) und den Rest DLLs hast.
    Dafür gibt es die sogenannte Projektmappe, d.h. die SLN-Datei liegt neben den Verzeichnisen, in denen die einzelnen Projekte liegen.
    Erstell Dir eine WinForms-Anwendung, speichere sie als Projektmappe und füge dieser ein neues oder vorhandenes Projekt hinzu.

    Sorge dafür, dass alle dieselben CPU-Einstellungen haben (x86, x64, AnyCPU).
    Füge dem Hauptprogramm die Projekte der DLLs als Verweis hinzu, nicht aber die DLLs selbst.
    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!
    gugge auch vb-paradise.de/allgemeines/tip…ekt-einbinden/#post833560

    Dazu gehört aber auch, richtig zu konzipieren.
    Etwa ein Projekt zum Zuordnen von Postleitzahlen und eines zum Code-Auslesen zusammenzuschmeissen ist Unfug.
    Wenn überhaupt enthalten Anwendungen wiederverwendbare Teil-Funktionalität.
    Diese gilt es zu isolieren, in eine Dll auszulagern, und das ist dann sinnvoll, in mehrere Anwendungen einzubinden.
    Funktioniert so wie ich das haben möchte. Habe die Projekte in DLLs ausgelagert, und in das Mainprogramm eingefügt. Klappt gut. Vorher hatte ich immer einige Fehler, die ich durch euch korrigieren konnte. THX
    ~Wir leben zwar alle unter dem gleichen Himmel, aber es haben nicht alle den gleichen Horizont~