如何使用不同的配置文件运行可执行程序?

Jef*_*eff 5 .net c#

我想用不同的配置文件运行一个程序,程序用C#2.0编写,我做了一些不同的文件名{program_name} .exe.config,我的意思是一个exe用不同的配置文件,例如我有3个配置文件,然后我将使用不同的配置文件运行3个exe,exe文件是同一个.我是否可以不修改程序以读取不同的配置文件(我不想将配置文件路径放在exe命令参数中)来执行此操作(如使用批处理文件或其他方法.)?

谢谢.

Nil*_*ule 8

您可以更改加载exe的应用程序域的配置文件.这是使用AppDomain类的SetData方法完成的.确保将此行代码作为应用程序的第一行执行.

我使用以下代码在3个不同的可执行文件之间共享1个exe.config文件.

AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE","yourSharedConfig.exe.config");
Run Code Online (Sandbox Code Playgroud)

您可以查看以下博客条目
Binding to custom app.config

如果你想用3种不同的配置运行相同的exe,我相信相同的方法将适用于一些自定义.您可以在调用exe作为命令行参数时传递配置文件的名称,并使用SetData方法可以动态设置配置.


Ode*_*ded 2

三个配置和一个可执行文件的主要问题是您需要为可执行文件指定要使用的配置。

一种选择是为可执行文件 、 和 制作 3 个副本exe1.exeexe2.exe并且为每个 - 、和exe3.exe都有一个类似命名的配置。exe1.exe.configexe2.exe.configexe3.exe.config

运行每个可执行文件时,它将使用正确的配置。

另一种选择是使用多个批处理文件,这些文件将根据您要使用的文件重命名不同的配置文件。然后你就有了一个 exe 和三个配置。