1

以下のコードは機能しません。ファイルからアプリの設定を取得しませんTestApp.Config。なぜなのかご存知ですか?そして、どうすればそれを修正できますか?

  public void GetConfig()
  {
     AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", @"C:\dev\VS\ProofOfConcept\ProofOfConcept\TestApp.config");
     var a = ConfigurationManager.AppSettings;
  }
4

1 に答える 1

5

この投稿は役立つかもしれません:

ここに投稿されたソリューションには、ResetConfigurationMechanism()を呼び出した後に呼び出す必要があるメソッドがありますCurrentDomain.SetData(...);

private static void ResetConfigMechanism()
{
   typeof(ConfigurationManager)
   .GetField("s_initState", BindingFlags.NonPublic | BindingFlags.Static)                                                                                   
   .SetValue(null, 0);

   typeof(ConfigurationManager)
   .GetField("s_configSystem", BindingFlags.NonPublic | BindingFlags.Static)
   .SetValue(null, null);

   typeof(ConfigurationManager)
   .Assembly.GetTypes()
   .Where(x => x.FullName == 
      "System.Configuration.ClientConfigPaths")
   .First()
   .GetField("s_current", BindingFlags.NonPublic | BindingFlags.Static)
   .SetValue(null, null);
}
于 2013-02-27T18:15:18.810 に答える