Ihre Antwort für eine nicht manuelle Erstellung einer app.config lautet die Registerkarte Eigenschaften / Einstellungen von Visual Studio-Projekt.
Wenn Sie eine Einstellung hinzufügen und speichern, wird Ihre app.config automatisch erstellt. Zu diesem Zeitpunkt wird eine Reihe von Code in einem Namespace { yourclasslibrary .Properties} generiert , der Eigenschaften enthält, die Ihren Einstellungen entsprechen. Die Einstellungen selbst werden in den applicationSettings-Einstellungen der app.config gespeichert.
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="ClassLibrary.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<applicationSettings>
<ClassLibrary.Properties.Settings>
<setting name="Setting1" serializeAs="String">
<value>3</value>
</setting>
</BookOneGenerator.Properties.Settings>
</applicationSettings>
Wenn Sie eine Einstellung mit Anwendungsbereich mit dem Namen "Einstellung1 = 3" hinzugefügt haben, wird eine Eigenschaft mit dem Namen "Einstellung1" erstellt. Diese Eigenschaften werden beim Kompilieren Teil der Binärdatei und werden mit einem DefaultSettingValueAttribute dekoriert, das auf den Wert festgelegt wird, den Sie zur Entwicklungszeit angegeben haben.
[ApplicationScopedSetting]
[DebuggerNonUserCode]
[DefaultSettingValue("3")]
public string Setting1
{
get
{
return (string)this["Setting1"];
}
}
Wenn Sie also wie in Ihrem Klassenbibliothekscode diese Eigenschaften verwenden, wird in der Laufzeitkonfigurationsdatei keine entsprechende Einstellung verwendet, um den Standardwert zu verwenden. Auf diese Weise stürzt die Anwendung nicht ab, weil ein Einstellungseintrag fehlt. Dies ist beim ersten Mal sehr verwirrend, wenn Sie nicht wissen, wie diese Dinge funktionieren. Nun fragen Sie sich, wie Sie unseren eigenen neuen Wert in einer bereitgestellten Bibliothek angeben und vermeiden können, dass der Standardeinstellungswert verwendet wird.
Dies geschieht, wenn wir die app.config der ausführbaren Datei ordnungsgemäß konfigurieren. Zwei schritte. 1. Wir machen darauf aufmerksam, dass wir einen Einstellungsabschnitt für diese Klassenbibliothek haben werden. 2. Mit kleinen Änderungen fügen wir die Konfigurationsdatei der Klassenbibliothek in die ausführbare Konfiguration ein. (Es gibt eine Methode, mit der Sie die Konfigurationsdatei der Klassenbibliothek extern halten und sie einfach aus der Konfiguration der ausführbaren Datei referenzieren können.
Sie können also eine app.config für eine Klassenbibliothek haben, diese ist jedoch nutzlos, wenn Sie sie nicht ordnungsgemäß in die übergeordnete Anwendung integrieren. Sehen Sie hier, was ich vor einiger Zeit geschrieben habe: Link