Получение приложений из app.config во время отладки - PullRequest
0 голосов
/ 26 ноября 2009

Я использую VS 2008 с .NET 3.5, и у меня возникают проблемы с получением настроек приложения при отладке. Я добавил ссылку на System.Configuration, и консольное приложение компилируется и запускается, но когда я пытаюсь получить настройки приложения, возвращаемое значение всегда равно нулю.

App.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
 <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
        <section name="ConsoleApp.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </sectionGroup>
 </configSections>
 <applicationSettings>
    <ConsoleApp.Properties.Settings>
        <setting name="LogDirectory" serializeAs="String">
            <value>\c$\TestApp\LOG\</value>
        </setting>
    </ConsoleApp.Properties.Settings>
 </applicationSettings>
</configuration>

Фрагмент кода:

string logPath = @"\\" + machineName + ConfigurationManager.AppSettings["LogDirectory"];

Я что-то здесь не так делаю?

РЕДАКТИРОВАТЬ: уточнить, что XML app.config был автоматически сгенерирован. Я добавил новый элемент файла конфигурации приложения в проект, а затем использовал вкладку настроек окна свойств проекта, чтобы добавить параметр LogDirectory.

Ответы [ 2 ]

2 голосов
/ 26 ноября 2009

Почему бы просто не использовать свойства? Вы можете получить доступ к своим свойствам, используя Properties.Settings.Default.WhatEverYouWant?

Это эффективно и запекается в Visual Studio.

2 голосов
/ 26 ноября 2009

Вам нужно что-то вроде этого - настройки приложения - это словарь строк.

<configuration>
  <appSettings>
    <add key="LogDirectory" value="\c$\TestApp\LOG\"/>
  </appSettings>
</configuration>

Посмотрите здесь для получения дополнительной информации о настройках приложения.

...