コンソールアプリケーションプロジェクトでは、app.configファイルに値を書き込んで永久に保存しようとしていますが、メモリに保存することはできません。 私はWrite values in app.config fileですべてのソリューションを試しましたが、私にとってはうまくいきません。app.configファイルの値をコンソールアプリケーションに永続的に書き込む方法は?
変更を永続的に行うにはどうすればよいですか?
app.configファイル:
<appSettings>
<add key="test" value="123456" />
</appSettings>
クラス専用メモリに値を保存する二つの方法を持つ:プロジェクトまたは開口部のapp.configをを再構築すると、変更を書き出しますが
public static class ConfigurationHelper
{
public static void SetSetting(string key, string value)
{
Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
configuration.AppSettings.Settings[key].Value = value;
configuration.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
}
public static void SetSetting2(string key, string value)
{
Configuration configuration = ConfigurationManager.
OpenExeConfiguration(Assembly.GetExecutingAssembly().Location);
configuration.AppSettings.Settings[key].Value = value;
configuration.Save();
ConfigurationManager.RefreshSection("appSettings");
}
}
簡単なテストメモ帳で変更内容は保存されません。
[Test]
public void FirstTest()
{
Console.WriteLine("Value before: " + ConfigurationHelper.Get<string>("test"));
ConfigurationHelper.SetSetting2("test", "NewValue");
Console.WriteLine("Value after: " + ConfigurationHelper.Get<string>("test"));
}
アプリケーションを再ビルドすると、app.configがプロジェクトから出力ディレクトリにコピーされ、上書きされます。それをしないでください。あるいは、書き込んだ変更をプロジェクトファイルにコピーしてください。 –
ありがとう、私は問題を理解していると思う。変更を出力ファイルからapp.configファイルにコピーする方法 –