在调试期间从app.config检索应用程序

时间:2009-11-26 15:35:42

标签: .net-3.5 app-config

我正在使用VS 2008和.NET 3.5,我在调试时无法检索应用程序设置。我添加了对System.Configuration的引用,控制台应用程序编译并运行,但是当我尝试检索应用程序设置时,返回值始终为null。

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"];

我在这里做了一些明显错误的事吗?

编辑:澄清一下,app.config XML是自动生成的。我向项目添加了一个新的Application Configuration File项,然后使用项目属性窗口的settings选项卡添加LogDirectory设置。

2 个答案:

答案 0 :(得分:2)

你需要这样的东西 - 应用程序设置本质上是一个字符串字典。

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

有关应用设置的更多信息,请查看here

答案 1 :(得分:2)

为什么不使用属性? 您可以使用Properties.Settings.Default.WhatEverYouWant?

访问您的属性

这在Visual Studio中很有效并且很有用。