none
"Configuration" ist im Namespace "System.Configuration" nicht vorhanden RRS feed

  • Frage

  • Wie komme ich an die Klasse System.Configuration.Configuration?

    http://www.sand-berg.de/bild1.png

    Hier meine Programmierumgebung:

    Win7 64 bit, C# 2008 Express, .NET 3.5 SP1

    http://www.sand-berg.de/bild2.png

    Ich möchte den vom Dataset generierten Connectionstring am Programmstart ändern und habe dazu folgenden Code gefunden, der aber aus oben genanntem Grund bei mir nicht läuft:

    public static void ModifyConnectionString(string connectionString)
        {
          // Bitte Test.Properties.Settings.AdventureWorksConnectionString entsprechend Anpassen
          System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
          config.ConnectionStrings.ConnectionStrings["Test.Properties.Settings.AdventureWorksConnectionString"].ConnectionString = connectionString;
          config.Save(ConfigurationSaveMode.Modified);
          ConfigurationManager.RefreshSection(config.ConnectionStrings.SectionInformation.Name);
          Properties.Settings.Default.Reload();
        }
    

    Danke für jede Hilfe

    Andreas

     

    Sonntag, 15. August 2010 12:06

Antworten

  • Hallo Andreas,

    Wie komme ich an die Klasse System.Configuration.Configuration?

    Hast Du einen Verweis auf System.Configuration.dll Deinem Projekt hinzugefügt?

    Ich möchte den vom Dataset generierten Connectionstring am Programmstart ändern und habe dazu folgenden Code gefunden, der aber aus oben genanntem Grund bei mir nicht läuft:
    public static void ModifyConnectionString(string connectionString)
      {
       // Bitte Test.Properties.Settings.AdventureWorksConnectionString entsprechend Anpassen
       System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
       config.ConnectionStrings.ConnectionStrings["Test.Properties.Settings.AdventureWorksConnectionString"].ConnectionString = connectionString;
       config.Save(ConfigurationSaveMode.Modified);
       ConfigurationManager.RefreshSection(config.ConnectionStrings.SectionInformation.Name);
       Properties.Settings.Default.Reload();
      }
     

    Das funktioniert nur solange Deine Anwendung mit administrativen Rechten ausgeführt wird. Normale Benutzer dürfen im Anwendungsverzeichnis nicht schreiben. Unter Windows Vista/7 sind alle Benutzer mit normalen Benutzerrechten angemeldet und müssen erhöhte Rechte explizit anfordern, selbst wenn sie Mitglied der Admingruppe sind. Daher solltest Du solche Aufgaben auch vom Setup übernehmen lassen, oder Du legst die Einstellung per Benutzer fest.



    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    • Als Antwort markiert Andreas Beger Sonntag, 15. August 2010 14:36
    Sonntag, 15. August 2010 13:30
    Beantworter

Alle Antworten

  • Wie komme ich an die Klasse System.Configuration.Configuration?
    http://www.sand-berg.de/bild1.png

    ist denn im Projekt ein Verweis auf die 'System.Configuration' Assembly,
    und 'using' im Quellcode:
    using System.Configuration;
    Sonntag, 15. August 2010 13:25
  • Hallo Andreas,

    Wie komme ich an die Klasse System.Configuration.Configuration?

    Hast Du einen Verweis auf System.Configuration.dll Deinem Projekt hinzugefügt?

    Ich möchte den vom Dataset generierten Connectionstring am Programmstart ändern und habe dazu folgenden Code gefunden, der aber aus oben genanntem Grund bei mir nicht läuft:
    public static void ModifyConnectionString(string connectionString)
      {
       // Bitte Test.Properties.Settings.AdventureWorksConnectionString entsprechend Anpassen
       System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
       config.ConnectionStrings.ConnectionStrings["Test.Properties.Settings.AdventureWorksConnectionString"].ConnectionString = connectionString;
       config.Save(ConfigurationSaveMode.Modified);
       ConfigurationManager.RefreshSection(config.ConnectionStrings.SectionInformation.Name);
       Properties.Settings.Default.Reload();
      }
     

    Das funktioniert nur solange Deine Anwendung mit administrativen Rechten ausgeführt wird. Normale Benutzer dürfen im Anwendungsverzeichnis nicht schreiben. Unter Windows Vista/7 sind alle Benutzer mit normalen Benutzerrechten angemeldet und müssen erhöhte Rechte explizit anfordern, selbst wenn sie Mitglied der Admingruppe sind. Daher solltest Du solche Aufgaben auch vom Setup übernehmen lassen, oder Du legst die Einstellung per Benutzer fest.



    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    • Als Antwort markiert Andreas Beger Sonntag, 15. August 2010 14:36
    Sonntag, 15. August 2010 13:30
    Beantworter
  • Hallo Thorsten,
    Hast Du einen Verweis auf System.Configuration.dll Deinem Projekt hinzugefügt?

    Natürlich nicht, aber jetzt. Und wieder was dazugelernt.

    Das funktioniert nur solange Deine Anwendung mit administrativen Rechten ausgeführt wird. Normale Benutzer dürfen im Anwendungsverzeichnis nicht schreiben. Unter Windows Vista/7 sind alle Benutzer mit normalen Benutzerrechten angemeldet und müssen erhöhte Rechte explizit anfordern, selbst wenn sie Mitglied der Admingruppe sind. Daher solltest Du solche Aufgaben auch vom Setup übernehmen lassen, oder Du legst die Einstellung per Benutzer fest.

    In den Settings lassen Verbindungszeichenfolgen nur den Bereich Anwendung zu. Kann man das nicht auch per Benutzer steuern?

    Vielen Dank

    Andreas

    Sonntag, 15. August 2010 14:57