将app.config文件重定位到自定义路径

是否可以将整个App.Config文件重定位到自定义路径?

配置文件与exe驻留在同一文件夹中似乎有点奇怪,Windows的新方法是将所有程序设置保存在c:\ ProgramData和所有程序中。

我们还有一个附加要求,就是以编程方式指定在哪里可以找到app.config文件。原因是我们从相同的exe生成了不同的服务实例,并且希望将每个服务的app.config存储在该服务的settings文件夹下的c:\

ProgramData \\下。

回答:

每个AppDomain都有/可以有自己的配置文件。CLR主机创建的默认AppDomain使用programname.exe.config。如果要提供自己的配置文件,请创建单独的AppDomain。例:

// get the name of the assembly

string exeAssembly = Assembly.GetEntryAssembly().FullName;

// setup - there you put the path to the config file

AppDomainSetup setup = new AppDomainSetup();

setup.ApplicationBase = System.Environment.CurrentDirectory;

setup.ConfigurationFile = "<path to your config file>";

// create the app domain

AppDomain appDomain = AppDomain.CreateDomain("My AppDomain", null, setup);

// create proxy used to call the startup method

YourStartupClass proxy = (YourStartupClass)appDomain.CreateInstanceAndUnwrap(

exeAssembly, typeof(YourStartupClass).FullName);

// call the startup method - something like alternative main()

proxy.StartupMethod();

// in the end, unload the domain

AppDomain.Unload(appDomain);

希望能有所帮助。

以上是 将app.config文件重定位到自定义路径 的全部内容, 来源链接: utcz.com/qa/415884.html

回到顶部