将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 assemblystring 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