Benutzer mit den meisten Antworten
ConfigurationManager - PerUserRoamingAndLocal - App - wie und wo gespeichert?

Frage
-
Hallo! Wo stelle ich UserSettings ein? Wo stelle ich ApplikationsSettings ein? Die User habe ich gefunden. Unklar wo die AppSettings der DLL hinterlegt werden. Wer kann es mir mitteilen? DANKE. Grüße Andreas Ich habe eine Exe Ich habe eine DLL Die Exe hat <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > <section name="RMES.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /> </sectionGroup> </configSections> <appSettings> <!--<add key="language" value="de-DE" />--> <!--<add key="language" value="hu-HU" />--> <!--<add key="language" value="en-GB" />--> <add key="language" value="de-DE" /> </appSettings> <userSettings> <RMES.Properties.Settings> <setting name="MyfrmSize" serializeAs="String"> <value>970, 680</value> </setting> <setting name="MyfrmLoc" serializeAs="String"> <value>0, 0</value> </setting> <setting name="MyfrmState" serializeAs="String"> <value>Normal</value> </setting> </RMES.Properties.Settings> </userSettings> </configuration> Die DLL hat <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > <section name="RCommunication.Implementations.MES.OpCon.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /> </sectionGroup> <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > <section name="RCommunication.Implementations.MES.Test2.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> </sectionGroup> </configSections> <userSettings> <RCommunication.Implementations.MES.Test2.Settings> <setting name="ID_Ref1" serializeAs="String"> <value>stat-001</value> </setting> <setting name="ID_Refl2" serializeAs="String"> <value>stat-002</value> </setting> </RCommunication.Implementations.MES.Test2.Settings> </userSettings> <applicationSettings> <RCommunication.Implementations.MES.Test2.Settings> <setting name="Timer_Jam" serializeAs="String"> <value>30000</value> </setting> <setting name="Timer_Missing" serializeAs="String"> <value>30000</value> </setting> <setting name="ConnectionFileMES" serializeAs="String"> <value>C:\Configuration\Client.Config.xml</value> </setting> </RCommunication.Implementations.MES.Test2.Settings> </applicationSettings> </configuration> C:\Documents and Settings\Bauer\Local Settings\Application Data\Company\RTest.vshost.exe_Url_fbegxxbstv2eisxpw5cyxyzuguzfapnc\1.0.0.0
private void btnConfiguration_Click(object sender, EventArgs e) { Configuration cfUser = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal); System.Diagnostics.Debug.WriteLine("Benutzer-Einstellungen gespeichert in:\r\n" + cfUser.FilePath); Configuration cfApp = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); System.Diagnostics.Debug.WriteLine("Anwendungs-Einstellungen gespeichert in:\r\n" + cfApp.FilePath); Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal); Process.Start(Path.GetDirectoryName(cfUser.FilePath)); Process.Start(Path.GetDirectoryName(cfApp.FilePath)); }
Hier <strong>werden keine Appsettings</strong> hinterlegt!!!!! Muss ich das manuell von Hand irgendwie kopieren? Die AppStetting von der DLL in die AppSettings der EXE ? <?xml version="1.0" encoding="utf-8"?> <configuration> <userSettings> <RMES.Properties.Settings> <setting name="MyfrmSize" serializeAs="String"> <value>970, 680</value> </setting> <setting name="MyfrmLoc" serializeAs="String"> <value>7, 23</value> </setting> <setting name="MyfrmState" serializeAs="String"> <value>Normal</value> </setting> </RMES.Properties.Settings> </userSettings> </configuration>
Antworten
-
Hallo Andreas,
- Wo stelle ich UserSettings ein?
Wo stelle ich ApplikationsSettings ein?
die applicationSettings kann man zum Beispiel Projekt/Eigenschaften/Einstellungen/ ... und dann im gewünschten Setting bei "Bereich" den Eintrag: 'Anwendung' wählen. Die Benutzersettings sind schon standardmäßig vorgegeben eben entsprechend auf 'Benutzer' stellen.
Den Pfad hast Du ja schon gut herausgefunden mit OpenExeConfiguration ... bei None und dessen Eigenschaft FilePath hast Du den Dateipfad, wo die ApplicationSettings drin stehen. (Man beachte, der Normal User hat hier keine Schreibrechte).
Bzgl. DLL-Einstellungen hatte ich hier mal einen Download gemacht. Da kann man sich einiges abschauen.[Einstellungen über mehrere Assemblies]
http://Dzaebel.NET/Downloads/RTest.zipAnsonsten auch hier Hintergründe zu diesem Thema:
[C# Dll config file - Stack Overflow]
http://stackoverflow.com/questions/594298/c-dll-config-fileweiterhin ggf. dazu interessant:
[PropertyGrid ConnectionString Editor]
http://dzaebel.net/PropertyGridConnectionString.htmNatürlich gäbe es auch Möglichkeiten über Frameworks wie Enterprise Library 5.0, aber das thematisiere ich mal jetzt nicht.
Das ganze Konfigurations-Thema ist sehr gut in der Doku beschrieben:
[Anwendungseinstellungen für Windows Forms]
http://msdn.microsoft.com/de-de/library/0zszyc6e.aspx
ciao Frank- Als Antwort markiert Andreas Bauer2 Mittwoch, 9. März 2011 20:06
- Wo stelle ich UserSettings ein?
-
Hallo Andreas,
ersetze (in dem Fall) einfach in der "RTest.sln" über Notepad die zwei Zeilen:
- Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
mit:
- Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
ciao Frank- Als Antwort markiert Andreas Bauer2 Donnerstag, 10. März 2011 05:37
- Microsoft Visual Studio Solution File, Format Version 11.00
Alle Antworten
-
Hallo Andreas,
- Wo stelle ich UserSettings ein?
Wo stelle ich ApplikationsSettings ein?
die applicationSettings kann man zum Beispiel Projekt/Eigenschaften/Einstellungen/ ... und dann im gewünschten Setting bei "Bereich" den Eintrag: 'Anwendung' wählen. Die Benutzersettings sind schon standardmäßig vorgegeben eben entsprechend auf 'Benutzer' stellen.
Den Pfad hast Du ja schon gut herausgefunden mit OpenExeConfiguration ... bei None und dessen Eigenschaft FilePath hast Du den Dateipfad, wo die ApplicationSettings drin stehen. (Man beachte, der Normal User hat hier keine Schreibrechte).
Bzgl. DLL-Einstellungen hatte ich hier mal einen Download gemacht. Da kann man sich einiges abschauen.[Einstellungen über mehrere Assemblies]
http://Dzaebel.NET/Downloads/RTest.zipAnsonsten auch hier Hintergründe zu diesem Thema:
[C# Dll config file - Stack Overflow]
http://stackoverflow.com/questions/594298/c-dll-config-fileweiterhin ggf. dazu interessant:
[PropertyGrid ConnectionString Editor]
http://dzaebel.net/PropertyGridConnectionString.htmNatürlich gäbe es auch Möglichkeiten über Frameworks wie Enterprise Library 5.0, aber das thematisiere ich mal jetzt nicht.
Das ganze Konfigurations-Thema ist sehr gut in der Doku beschrieben:
[Anwendungseinstellungen für Windows Forms]
http://msdn.microsoft.com/de-de/library/0zszyc6e.aspx
ciao Frank- Als Antwort markiert Andreas Bauer2 Mittwoch, 9. März 2011 20:06
- Wo stelle ich UserSettings ein?
-
Hallo Frank,
ok sollte es schon sein.
[Einstellungen über mehrere Assemblies]
http://Dzaebel.NET/Downloads/RTest.zip---------------------------
Microsoft Visual Studio
---------------------------
The selected file is a solution file, but was created by a newer version of this application and cannot be opened.
---------------------------
OK
---------------------------
Wäre es denkbar zu konvertieren? 2008Grüße Andreas
-
Hallo Andreas,
ersetze (in dem Fall) einfach in der "RTest.sln" über Notepad die zwei Zeilen:
- Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
mit:
- Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
ciao Frank- Als Antwort markiert Andreas Bauer2 Donnerstag, 10. März 2011 05:37
- Microsoft Visual Studio Solution File, Format Version 11.00
-
Hallo Frank,
hat wunderbar geklappt. Umbenennen in VS2008.
http://www1.minpic.de/bild_anzeigen.php?id=140522&key=74452996&ende
Leider doch noch etwas unklar.
Lieferung zum Kunden.
DLL
Hinterlegt in der app.config
User
App - unklar
User, so wie es der User konfiguriert. -> klar wo das abgelegt ist. Gefunden
Hauptanwendung .EXE
Die hat auch eine App.config.
Muss ich das jetzt händisch hier eintragen, die AppSettings der DLL, das ist unklar!
Ich gebe ja nicht die App.config der DLL mit.
Grüße Andreas