Файл конфигурации приложения обработки исключений .NET - PullRequest
0 голосов
/ 12 августа 2009

Я прошу прощения, так как этот вопрос является несколько основным; однако после долгих поисков я не нашел подходящего ответа. Я создаю приложение Windows Forms, и мне нужно сослаться на файл app.config для расположения на файл данных. Перед звонком

XElement xml = XElement.Load(ConfigurationManager.AppSettings["EntityData"].ToString());

Я хочу убедиться, что файл app.config существует. Я пробовал несколько методов, но кажется, что это намного больше работы, чем должно быть. Например, я пытался использовать следующий код для определения пути к файлу

        Uri uri = new Uri(System.Reflection.Assembly.GetExecutingAssembly().CodeBase);
        string fullConfigurationFilename = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(uri.AbsolutePath), configurationFilename);

но у меня возникают проблемы с пробелами в пути. Есть ли лучший способ проверить наличие app.config, мне вообще нужно проверять?

Спасибо

Ответы [ 2 ]

2 голосов
/ 12 августа 2009

Не думаю, что вам нужно проверять, существует ли файл конфигурации. Следующий код должен работать без исключений:

string temp = ConfigurationManager.AppSettings["EntityData"];
if (temp != null)
{
    XElement xml = XElement.Load(temp);
}

Обратите внимание, что AppSettings вернет строку, если ключ найден, поэтому вам не нужно вызывать ToString для его преобразования. Если ключ не существует, вместо этого вы должны получить ссылку null, которую можно проверить.

1 голос
/ 12 августа 2009

System.Configuration должна сделать всю эту работу за вас. Не должно быть необходимости вручную загружать файл конфигурации.

...