为什么我的ConfigurationManager中没有AppSettings?

时间:2016-05-20 14:03:07

标签: c# .net configurationmanager

我不知道为什么但我的app.config.file中没有AppSettings。 如果我添加它,当我运行我的应用程序时,appSetting被删除,所以我无法读取我的数据!

这是我的档案:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<add key="RepertoireEntree" value="E:\DEV\Autres\DevAgréga\Input\*.txt"/>
<add key="RepertoireSortie" value="E:\DEV\Autres\DevAgréga\Output\"/>
</configuration>

在c#中:

string RepertoireEntree = ConfigurationManager.AppSettings["RepertoireEntree"];

2 个答案:

答案 0 :(得分:2)

您的应用设置位于appSettings元素中,否则将无法识别:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="RepertoireEntree" value="E:\DEV\Autres\DevAgréga\Input\*.txt"/>
        <add key="RepertoireSortie" value="E:\DEV\Autres\DevAgréga\Output\"/>
    </appSettings>
</configuration>

顺便说一句,以常规方式使用设置更容易。您可以通过从“项目设置”&gt;创建设置文件来执行此操作。设置标签。

Visual Studio将为您生成app.config中的XML元素,您可以像这样引用您的属性:

string re = Properties.Settings.Default.RepertoireEntree;

答案 1 :(得分:1)

您在app.config文件中没有正确的xml。

记下appSettings的开始和结束标记

<?xml version="1.0" encoding="utf-8" ?>
<configuration>



<appSettings>
    <add key="RepertoireEntree" value="E:\DEV\Autres\DevAgréga\Input\*.txt"/>
    <add key="RepertoireSortie" value="E:\DEV\Autres\DevAgréga\Output\"/>
</appSettings>


</configuration>

PS

虽然这对你来说可能不是问题(但对未来的读者来说也是如此)

请确保您有此参考:

Namespace:   System.Configuration
Assembly:  System.Configuration (in System.Configuration.dll)

MSDN

所述