加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 是否可以在.NET应用程序的运行时切换应用程序配置文件?

发布时间:2020-12-15 03:57:44 所属栏目:百科 来源:网络整理
导读:默认情况下,.NET应用程序的配置文件以“exe文件名”.config命名.我想知道是否可以动态地指定一个应用程序的配置. 例如,构建的应用程序是“foo.exe”.在运行时,配置文件为“foo.exe.config”.有可能让它接受命令行参数来使用其他配置文件.因此,应用程序可以使
默认情况下,.NET应用程序的配置文件以“exe文件名”.config命名.我想知道是否可以动态地指定一个应用程序的配置.

例如,构建的应用程序是“foo.exe”.在运行时,配置文件为“foo.exe.config”.有可能让它接受命令行参数来使用其他配置文件.因此,应用程序可以使用下面的其他配置.

foo.exe /config:bar.config

bar.config用作foo.exe.config的配置文件insteand.

解决方法

如果您只需要替换AppSettings部分,以上所有功能都可以正常工作.

如果您必须运行不同的配置文件(所有部分),您可能需要考虑使用主机启动应用程序,为主应用程序创建应用程序域,并根据您传入的参数设置不同的配置文件.

这是为我工作的代码:

AppDomainSetup setup = new AppDomainSetup();
        setup.ApplicationBase = "file://" + System.Environment.CurrentDirectory;
        setup.DisallowBindingRedirects = true;
        setup.DisallowCodeDownload = true;

        if (args.Length != 0 && args[0].Equals("-test"))
        {
            setup.ConfigurationFile = "PATH_TO_YOUR_TEST_CONFIG_FILE";
        }
        else {
            setup.ConfigurationFile = "PATH_TO_YOUR_LIVE_CONFIG_FILE";
        }

        AppDomain domain = AppDomain.CreateDomain("FRIENDLY_NAME",null,setup);
        domain.ExecuteAssembly("YourMainApp.exe");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读