Auf Settings in anderer Projektmappe zugreifen

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von bastimw.

    Auf Settings in anderer Projektmappe zugreifen

    Hallo

    ich habe in meinem Projektordner 2 Projektmappen angelegt und möchte nun vom ProjektA auf die Settings im ProjektB zugreifen. In den Verweisen ist ProjektB eingefügt und bei den Ressourcen klappt das auch perfekt - nur bei den Settings bekomme ich es nicht hin (Zugriffsmodifizierer ist natürlich auf Public eingestellt).

    Viele Grüße
    Mike
    Hi

    das würde aber heißen dass ich pro Setting eine eigene Read/Write-Funktion schreiben muss - was bei mehreren Settings schon zu einer nervigen Schreibarbeit führt, oder ich verwende den Manager und greife über den Namen der Einstellung darauf zu, was mir aufgrund der Verwendung des Namens als String keine Intelli-Sense und damit auch keine Erkennung bietet ob es diese Einstellung auch wirklich so gibt (Gefahr von Schreibfehlern).

    Gibt es keine Möglichkeit direkt auf die Settings zuzugreifen?

    Gruß Mike
    Mit folgendem Code konnte ich grad auf ein Setting meiner HelperDll zugreifen:

    VB.NET-Quellcode

    1. Dim helperBla = HelperDll.My.MySettings.Default.bla
    Ich bezweifel allerdings stark, dass das sinnvoll ist.
    Anwendungseinstellungen gehören in der Anwendung festgelegt, nicht in den Hilfsprojekten.

    Ich kann mich auch irren - sag du mir, was für eine Einstellung du von welchem HilfsProjekt in die HauptAnwendung ziehen musst.
    @MikeJ: Settings sind laut .NET-Philosophie projektgebunden, deswegen auch der projektabhängige krüptische Pfadname der Settings-Datei.
    Was soll es, wenn Du Programm A mit Setting AA = "bla" speicherst, Programm B aufrufst und das A-Setting überschreibst?
    Der nächste A-Nutzer denkt, er hat einen Virus, weil seine A-Settings nicht mehr stimmen.
    -----
    Generiere die Settings 2 Mal, sie können ja denselben Namen und dieselbe Bedeutung haben.
    Oder
    Nimm keine Settings, sondern eine allgemeine DataTable + kommunizierende XML-Datei.
    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!
    ==> Projekt_x:


    VB.NET-Quellcode

    1. Public Class ApplicationHelp
    2. Private Shared _meine_projektübergreifende_varibale As String
    3. Public Shared Property hole_projektübergreifende_variable As String
    4. Get
    5. Return _meine_projektübergreifende_varibale
    6. End Get
    7. Set(ByVal value As String)
    8. _meine_projektübergreifende_varibale = value
    9. End Set
    10. End Property
    11. End Class


    => Projekt als Verweis festlegen!
    => 'Eigenschaft aufrufen aus Projekt_X und die Settings da reinschreiben

    Projekt_y:
    Aufruf:

    VB.NET-Quellcode

    1. if Projekt_x.ApplicationHelp.hole_projektübergreifende_variable = "" then
    2. end if

    ==> hier kannst du dir die Variable in dein 2. Projekt holen