1

プロジェクトに設定ファイルがありますが、何らかの理由で読み込むことができません。過去に同様のコードが機能しました。ここで何が間違っているのかわかりません。誰かが見て、私が何か間違っているかどうかを教えてくれるかどうか疑問に思っていました. 助けてください...

これが私のコードです:

  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>

前もってありがとう、ハリット

4

3 に答える 3

2

ハリット、構造を次のように修正してみてください。

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

を使用するConfigurationManagerと、この正確な構造が存在するための要件が​​作成されます。上記の変更により、計画どおりに機能するはずです。

于 2013-10-29T21:39:44.853 に答える
0

別の 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");
    }
}
于 2014-09-05T15:11:56.513 に答える