Sie können die Verbindungszeichenfolge während der Laufzeit wie folgt ändern. Sie stellen die Einstellung für die Verbindungszeichenfolge als separate Eigenschaft innerhalb der Klasse MySettings zum Schreiben bereit:
Partial Friend NotInheritable Class MySettings
Public WriteOnly Property RunTimeConnectionString()
Set(ByVal value)
My.Settings("MyConnectionString") = value
End Set
End Property
End Class
Dann schreiben Sie an einer Stelle, wenn die Anwendung initialisiert wird (vor der Verwendung von Tabellenadaptern für typisierte Datensätze), etwas wie:
My.Settings.RunTimeConnectionString = My.Settings.ProductionConnectionString
Dabei ist ProductionConnectionString eine einfache String-Einstellung. Es handelt sich um eine Einstellung des Benutzerbereichs, so dass jeder Benutzer sie ändern kann (indem er ihr einen Wert zuweist, ähnlich wie im obigen Code) und sie durch den Aufruf von My.Settings.Save() speichern kann.
Dieser Code funktioniert gut für Verbindungsstrings, die ursprünglich im Hauptprojekt erstellt und in dessen Einstellungen (= app.config-Datei) gespeichert wurden.
Die Verbindungszeichenfolge in der app.config hat eigentlich einen längeren Namen: MyApp.MySettings.MyConnectionString.
Wenn Sie eine Verbindungszeichenfolge in der app.config in einem Klassenbibliotheksprojekt gespeichert haben und dieses Projekt im Hauptprojekt referenzieren, werden die app.config-Dateien irgendwie zusammengeführt, sodass die Klassenbibliothek ihre Einstellungen hat.
Die Sache, die nicht wissen, wie zu tun, ist eine Einstellung aus der Klassenbibliothek zur Laufzeit ändern. Ich könnte die Einstellung für die Verbindungszeichenfolge aus der Klassenbibliothek in die app.config des Hauptprojekts kopieren. Ich muss denselben Namen beibehalten, der etwa so aussieht: MyClassLibrary.My.MySettings.MyConnectionString.
Kann das gleiche Prinzip, das ich oben gezeigt habe, irgendwie auf diese zweite Verbindungszeichenfolge angewendet werden?