有没有办法在运行时指定我想使用的配置文件(除了App.config)?例如,我想从命令行读取第一个参数,该命令行将是应用程序配置的路径,我希望我的应用程序在使用ConfigurationManager.AppSettings时引用它(这可能是不可能的,但仍值得询问).
我找到了这段代码:
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); config.AppSettings.File = myRuntimeConfigFilePath; config.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("appSettings");
它工作,但它覆盖了原始的App.config的AppSettings部分,我的应用程序不应该写任何东西.
我找到了这个并且它有效."path"是配置文件的路径.
AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", path);