Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法读取配置文件_C#_.net_Visual Studio - Fatal编程技术网

C# 无法读取配置文件

C# 无法读取配置文件,c#,.net,visual-studio,C#,.net,Visual Studio,我的项目中有一个配置文件,由于某种原因我无法读入。类似的代码在过去对我很有效。我不确定我在这里做错了什么。我在想,如果我做错了什么,是否有人能看一眼并告诉我。请帮忙 这是我的密码: KeyValueConfigurationCollection settings; Configuration config; ExeConfigurationFileMap configFile = new ExeConfigurationFileMap(); configFile.ExeConfi

我的项目中有一个配置文件,由于某种原因我无法读入。类似的代码在过去对我很有效。我不确定我在这里做错了什么。我在想,如果我做错了什么,是否有人能看一眼并告诉我。请帮忙

这是我的密码:

  KeyValueConfigurationCollection settings;
  Configuration config;
  ExeConfigurationFileMap configFile = new ExeConfigurationFileMap();
  configFile.ExeConfigFilename = "myProject.exe.config";
  config = ConfigurationManager.OpenMappedExeConfiguration(configFile, ConfigurationUserLevel.None);
  settings = config.AppSettings.Settings;
  this.logFilePath = settings["logFilePath"].Value;
  this.logFilePath = settings["logFileName"].Value;
这是我的配置文件:

<?xml version="1.0"?/>
<configuration>
  <add key="logFilePath" value=".//Results//" />
  <add key="logFileName" value="Output.xml" />
</configuration>

提前感谢,,
Harit

Harit,尝试将您的结构修改为:

<?xml version="1.0"?/>
<configuration>
   <appSettings>
     <add key="logFilePath" value=".//Results//" />
     <add key="logFileName" value="Output.xml" />
   <appSettings>
</configuration>


使用
ConfigurationManager
创建此确切结构的需求。通过上述更改,它应该可以按计划工作。

配置中缺少AppSettings集合。您只配置了的根级别。但您正在代码中请求

您的配置应该是

<configuration>
   <appSettings>
      <add key="logFilePath" value=".//Results//" />
      <add key="logFileName" value="Output.xml" />
   </appSettings>
</configuration>

从不同的web.config读取值:

ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = AppDomain.CurrentDomain.BaseDirectory + @"second.config";
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap,ConfigurationUserLevel.None);

ConfigurationSection mySection = config.GetSection("countoffiles");
if (config.AppSettings.Settings.Count > 0)
{
    System.Configuration.KeyValueConfigurationElement customSetting =
        config.AppSettings.Settings["countoffiles"];
    if (customSetting != null)
    {
        Response.Write(customSetting.Value);
    }
    else
    {
        Console.WriteLine("No countoffiles application string");
    }
}

您实际收到的错误是什么?配置中缺少AppSettings集合。您只配置了的根级别。但是您正在代码中请求(sp?),谢谢-我错过了。现在可以了……:)