Как люди говорят здесь, весь смысл файла конфигурации заключается в изменении некоторых настроек вне приложения. Вы можете жестко программировать или использовать константы, но вы также можете использовать реестр в Windows, если хотите. Таким образом, вы можете вносить изменения в приложение и при этом иметь только один исполняемый файл.
В проекте кода есть хорошая информация о чтении, записи и удалении из реестра.
http://www.codeproject.com/KB/system/modifyregistry.aspx
Но будьте осторожны при редактировании реестра. От этого зависит множество приложений, поэтому вы можете уничтожить некоторые настройки, если что-то не так. Я рекомендую читать, а затем делать.
public string Read(string KeyName) {
RegistryKey rk = baseRegistryKey;
// Open a subKey as read-only
RegistryKey sk1 = rk.OpenSubKey(subKey);
// If the RegistrySubKey doesn't exist -> (null)
if ( sk1 == null )
{
return null;
}
else
{
try
{
// If the RegistryKey exists I get its value
// or null is returned.
return (string)sk1.GetValue(KeyName.ToUpper());
}
catch (Exception e)
{
// AAAAAAAAAAARGH, an error!
ShowErrorMessage(e, "Reading registry " + KeyName.ToUpper());
return null;
}
}
}
public bool Write(string KeyName, object Value) {
try
{
// Setting
RegistryKey rk = baseRegistryKey ;
// I have to use CreateSubKey
// (create or open it if already exits),
// 'cause OpenSubKey open a subKey as read-only
RegistryKey sk1 = rk.CreateSubKey(subKey);
// Save the value
sk1.SetValue(KeyName.ToUpper(), Value);
return true;
}
catch (Exception e) {
// AAAAAAAAAAARGH, an error!
ShowErrorMessage(e, "Writing registry " + KeyName.ToUpper());
return false;
}
}
public bool DeleteKey(string KeyName) {
try
{
// Setting
RegistryKey rk = baseRegistryKey ;
RegistryKey sk1 = rk.CreateSubKey(subKey);
// If the RegistrySubKey doesn't exists -> (true)
if ( sk1 == null )
return true;
else
sk1.DeleteValue(KeyName);
return true;
}
catch (Exception e)
{
// AAAAAAAAAAARGH, an error!
ShowErrorMessage(e, "Deleting SubKey " + subKey);
return false;
}
}
Конечно, это будет работать только на Windows. Я предполагаю, что вы используете Visual Studio, поэтому вы, вероятно, используете Windows.
Удачного кодирования и удачи!