如何在C#中使用应用程序配置文件?

时间:2010-06-08 17:48:12

标签: c# file configuration singleton

我正在尝试在C#控制台应用程序中使用配置文件。我通过New - >在项目中创建了文件。应用程序配置文件,并将其命名为myProjectName.config。我的配置文件如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="SSDirectory" value="D:\Documents and Settings\****\MyDocuments\****" />
</appSettings>
</configuration>

访问它的代码如下所示:

private FileValidateUtil()
    {
        sSDirFilePath = ConfigurationSettings.AppSettings["SSDirectory"];
        if (sSDirFilePath == null)
            Console.WriteLine("config file not reading in.");
    }

任何人都可以提示为什么这不起作用? (我收到错误消息。)

谢谢!

badPanda

3 个答案:

答案 0 :(得分:8)

您无法从app.config更改名称,并希望ConfigurationManager找到它而不提供更多信息。将myProjectName.config的名称更改回app.config,rebuild,您将在bin文件夹中看到名为myProjectName.exe.config的文件。然后,您对ConfigurationManager.AppSettings的调用应该正常。

答案 1 :(得分:2)

答案 2 :(得分:2)

首先,请使用ConfigurationManager代替ConfigurationSettings

其次,不是说“不起作用”,而是没有提供有用的信息,请告诉我们您所看到的内容。它编译?它是否在运行时抛出异常?你的电脑是否开始吸烟,闻起来像熔化的塑料?

试试这个:

    public string GetSSDirectory()
    {
        string sSDirFilePath = string.Empty;

        if (!ConfigurationManager.AppSettings.AllKeys.Contains("SSDirectory"))
        {
            Console.WriteLine("AppSettings does not contain key  \"SSDirectory\"");
        }
        else
        {
            sSDirFilePath = ConfigurationManager.AppSettings["SSDirectory"];
            Console.WriteLine("AppSettings.SSDirectory = \"" + sSDirFilePath + "\"");
        }

        return sSDirFilePath;
    }