vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: ConfigurationManager liest app.config nicht 
Autor: asam
Datum: 17.01.10 14:48

Danke für Deine Antwort.

Ja, mit my.settings kann ich aber nur auf die benutzerdefinierten Einstellungen zugreifen. Ich habe meine Dokumentation so verstanden, das im Bereich appSettings in der app.config die anwendungsweiten Einträge gespeichert werden ... und die wollte ich auslesen.

Mittlerweile bin ich darauf gekommen, dass die Einträge gelesen werden, wenn ich Sie von Hand in die app.config im Bereich appSettings eintrage, aber

Dim Eintrag As String = System.Configuration.ConfigurationManager.AppSettings( _
  "test")
ließt den Wert trotzdem nicht ein.

Jemand noch eine Idee was ich noch so falsch mache?

Gru? asam

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

ConfigurationManager liest app.config nicht 
Autor: asam
Datum: 13.01.10 22:59

Hallo zusammen,

bin schon eine Weile an der Thematik dran, komme aber nicht wirklich weiter. Das Thema kommt im Forum auch schon vor, bei mir bekomme ich aber nicht das gewünschte Ergebnis.

Ich möchte einen Wert aus der app.confic (applicationSettings) auslesen. Ich beginne so:

Imports System.IO, System.Configuration, System.Collections.Specialized
später als Versuche:

Dim Eintrag As String = System.Configuration.ConfigurationManager.AppSettings( _
  "test")
MsgBox(Eintrag)
 
Dim appStgs As NameValueCollection = ConfigurationManager.AppSettings
For i As Integer = 0 To appStgs.Count - 1
MsgBox(appStgs(i))
Next
Leider bringt keine der beiden Versuche ein Ergebnis. Wenn ich meine app.config anschaue ist der Eintrag "Test" aber vorhanden.

   <userSettings>
        <My.MySettings>
            <setting name="pathSstMdb" serializeAs="String">
                <value />
            </setting>
        </My.MySettings>
    </userSettings>
    <applicationSettings>
      <My.MySettings>
            <setting name="test" serializeAs="String">
              <value>Teststring 2</value>
            </setting>
        </My.MySettings>
    </applicationSettings>
Die einzige Aufälligkeit: Wenn ich die app.config öffne erhalte ich Meldungen wie "Schematainformationen für das Element ..... konten nicht gefunden werden. Schließe ich die app.config erhalte ich keine Meldungen mehr. Dem Debugger scheinen diese Meldungen auch egal zu sein.

Kann jemand helfen?

Gru? asam

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ConfigurationManager liest app.config nicht 
Autor: neoki
Datum: 14.01.10 09:05

Also wenn du die Einstellungen (AppSettings) über VS erstellt hast
kannst du auf sie ganz einfach über

My.Settings.(Dein Einstellungsname) 'Ohne Klammern
zugreifen.

Gruß Neoki

Beitrag wurde zuletzt am 14.01.10 um 09:06:39 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ConfigurationManager liest app.config nicht 
Autor: neoki
Datum: 18.01.10 11:42

Also wenn dein Datei aufbau immer noch so ist
   <userSettings>
        <My.MySettings>
            <setting name="pathSstMdb" serializeAs="String">
                <value />
            </setting>
        </My.MySettings>
    </userSettings>
    <applicationSettings>
      <My.MySettings>
            <setting name="test" serializeAs="String">
              <value>Teststring 2</value>
            </setting>
        </My.MySettings>
    </applicationSettings>
Funktioniert das auch nicht
Du musst um Einstellungen mit dem ConfigurationManager zu lesen so einen Aufbau haben

<configuration>
  '... Weitere Einträge
  <appSettings>
    <add key ="Test" value ="Test 2"/>
  </appSettings>
 '... Weitere einträge
</configuration>
dann Liest er die Einträge ein.

Gruß Neoki

Beitrag wurde zuletzt am 18.01.10 um 11:45:49 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ConfigurationManager liest app.config nicht 
Autor: ModeratorDaveS (Moderator)
Datum: 18.01.10 13:39

Welche "anwendungsweiten Einträge" meinst du denn, genau?

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ConfigurationManager liest app.config nicht 
Autor: asam
Datum: 19.01.10 12:35

Danke für Eure Rückmeldungen:

Ich habe die Einträge in der app.config wie von neoki gepostet geändert und versuche mein Problem so zu beschreiben:

Ich mache ich einer "Haupt-"Klasse einen Eintrag:

Dim entry As String = "Testeintrag"
        Dim cfg As Configuration = ConfigurationManager.OpenExeConfiguration( _
          ConfigurationUserLevel.None)
        cfg.AppSettings.Settings.Add(entry, "Neuer Eintrag")
        cfg.Save(ConfigurationSaveMode.Modified)
        Confi
und möchte in einer anderen importierten Klasse den Wert abfragen:

        Dim Eintrag As String = _
          System.Configuration.ConfigurationManager.AppSettings("Testeintrag")
        MsgBox(Eintrag)
Das funktioniert jetzt so weit so gut, aber wenn ich mir die app.config dann in der Projektmappe öffne finde ich diesen Eintrag nicht in der Sektion <appSettings>. Ich dachte die Einträge in der app.config würden permanent in die xml-Datei geschrieben.

Wenn ich nun meine Klasse von einem Programmteil aufrufen ohne mit diesem vorher die EInträge in <appSettings> gemacht zu haben kann ich auf diese Einstellung "Testeintrag" nicht zu greifen. Trage ich "Testeintrag von Hand in die xml ein, steht er zur Verfügung.

Wenn ich diesen Eintrag per Code erledigenkönnte und er dort auch erscheint, wäre mein Problem gelöst, da ich von überall darauf zurgreifen könnte.

Hoffentlich konnte ich mein Problem jetzt besser beschreiben.

Gru? asam

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ConfigurationManager liest app.config nicht 
Autor: ModeratorDaveS (Moderator)
Datum: 19.01.10 13:06

Die Settings im Designer heissen zwar app.config, daraus wird aber beim Starten des Projekts myprog.exe.config (oder beim Debuggen myprog.vshost.exe.config). Dort findest du neue Werte, immerhin bis die Anwendung wieder gestartet wird (von der IDE). AppSettings-Section wird aber grundsätzlich nicht mehr verwendet und die Datei steht ausserdem in dem Ausführungsverzeichnis, was meistens heutzutage von normalen Benutzern nicht geschrieben werden kann, daher ist eine solche Lösung nicht unbedingt optimal. Besser in vielen Fällen man verwendet die User Settings, die ins Benutzerprofil geschrieben werden, zB eine HashTable wenn man mehrere Werte dynamisch hinzufügen möchte, oder man lässt die Werte beim Administrator Install setzen.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ConfigurationManager liest app.config nicht 
Autor: asam
Datum: 22.01.10 08:34

vielen Dank für Deine Antwort und sorry für die späte Rückmeldung aber ich musste mich erst einmal länger mit Deiner Information auseinander setzen.

Über die "Lage" der Configurationsdateien habe ich mir überhaupt noch keine Gedanken gemacht. Das wäre natürlich schief gegangen, da meine Nutzer nicht über Administratorenrechte verfügen. Ich habe also Deine Idee aufgegriffen und lege nun z.B. den Pfad zur Datenbank bei der Admin-Installation einmalig fest. Das scheint für mich erst einmal die einfachste und überschaubarste Lösung zu sein.

Vielen Dank noch einmal für Deine Anregungen.

Gru? asam

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel