在调试过程中从app.config中检索应用程序

在调试过程中从app.config中检索应用程序

问题描述:

我正在使用VS 2008和.NET 3.5,并且在调试时遇到检索应用程序设置的麻烦。我添加了对System.Configuration的引用,并且控制台应用程序编译并运行,但是当我尝试检索应用程序设置时,返回值始终为空。在调试过程中从app.config中检索应用程序

的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是自动生成的。我向该项目添加了一个新的应用程序配置文件项目,然后使用项目属性窗口的设置选项卡添加LogDirectory设置。

为什么不只是使用属性? 您可以使用Properties.Settings.Default.WhatEverYouWant访问您的属性?

这是有效的,并在Visual Studio中烘焙。

+0

您能给一个代码示例吗?我试过使用“Properties.Settings.Default.LogDirectory”,我得到一个编译错误,指出“名称'属性'在当前上下文中不存在”。 – Talvalin 2009-11-27 10:19:57

+0

这是您的设置: 这一个值 applicationSettings> 您可以通过Properties.Settings.Default.SettingName来访问它 – 2009-11-27 19:43:04

+0

抱歉,XML部分的格式不成立。但底线是使用:Properties.Settings.Default.SettingName 顺便说一句,你必须去你的项目属性和添加一个设置这将添加一个app.config文件,你将有权访问的属性。 – 2009-11-27 19:49:03

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

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

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