Benutzer mit den meisten Antworten
"Configuration" ist im Namespace "System.Configuration" nicht vorhanden

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
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
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; -
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
-
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