我正在尝试在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
答案 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;
}