app.config ファイルに記述されているアプリケーションの接続文字列を変更したいと考えています。アプリケーションから直接接続文字列を変更するのが好きです。
私の app.config は次のようになります。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
...
<connectionStrings>
<add name="ApplicationName.My.MySettings.ConnectionS"
connectionString="Data Source=xxx;Initial Catalog=xxx;User ID=xxx;Password=xxx"
providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<add key="Test" value="/" />
</appSettings>
</configuration>
次のコードでappSettingsを変更できます。
Dim config As System.Configuration.Configuration = System.Configuration.ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
config.AppSettings.Settings("Test").Value = "New value"
しかし、アプリケーションがインストールされているときに nither をデバッグしている間、 connectionStringsを変更することはできません。
Dim config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
Dim connectionStringsSection = DirectCast(config.GetSection("connectionStrings"), ConnectionStringsSection)
connectionStringsSection.ConnectionStrings("ApplicationName.My.MySettings.ConnectionS").ConnectionString = "New connection string"
config.Save()
ConfigurationManager.RefreshSection("connectionStrings")