Как использовать файл конфигурации приложения в C#?
Я пытаюсь использовать файл конфигурации в моем консольном приложении C#. Я создал файл в рамках проекта по новой --> конфигурационный файл приложения, и назвав его имя_моего_проекта.конфиг. Мой конфигурационный файл выглядит так:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="SSDirectory" value="D:Documents and Settings****MyDocuments****" />
</appSettings>
</configuration>
код для доступа к ней выглядит так:
private FileValidateUtil()
{
sSDirFilePath = ConfigurationSettings.AppSettings["SSDirectory"];
if (sSDirFilePath == null)
Console.WriteLine("config file not reading in.");
}
может ли кто-нибудь дать подсказку о том, почему это не работает? (Я получаю сообщение об ошибке.)
спасибо!!
badPanda
3 ответов
вы не можете изменить имя приложения.config и ожидать ConfigurationManager
чтобы найти его, не предоставляя ему больше информации. Изменить имя имя_моего_проекта.конфигурации обратно в приложение.конфигурации, восстанавливать, и вы увидите файл в папке bin называется имя_моего_проекта.исполняемый.конфиг. Тогда ваш звонок в ConfigurationManager.AppSettings
должно работать корректно.
Регистрация документации
http://msdn.microsoft.com/en-us/library/aa730869 (VS.80).aspx
во-первых, использовать ConfigurationManager
вместо ConfigurationSettings
.
во-вторых, вместо того, чтобы говорить "не работает", что не дает никакой полезной информации, расскажите нам, что вы видите. Он компилируется? Не бросать исключение во время выполнения? Ваш компьютер начинает курить и пахнуть, как плавящийся пластик?
попробуйте это:
public string GetSSDirectory()
{
string sSDirFilePath = string.Empty;
if (!ConfigurationManager.AppSettings.AllKeys.Contains("SSDirectory"))
{
Console.WriteLine("AppSettings does not contain key \"SSDirectory\"");
}
else
{
sSDirFilePath = ConfigurationManager.AppSettings["SSDirectory"];
Console.WriteLine("AppSettings.SSDirectory = \"" + sSDirFilePath + "\"");
}
return sSDirFilePath;
}