问题
I have a VB6 app which calls a .NET assembly, which references settings from the app.config file. By default, .NET looks for a config file named after the VB6 app. How can I redirect it to use a different config file name? This needs to become the default config file so that e.g. WCF settings are read from it.
回答1:
You can't change it. Each AppDomain instance has a fixed app.config that is set via an AppDomainSetup instance when a new app domain is created. Although you can get the setup information via AppDomain.SetupInformation it has effectively become readonly at this point.
Given this, one option may be to create a new app domain from within your Main function and configure the domain to use the app.config you require.
回答2:
AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", @configFile);
回答3:
You can force the application to read a particular config file using
System.Configuration.ConfigurationManager.OpenExeConfiguration(PATH_TO_CONFIG);
回答4:
Consider putting your configuration in a XML serialized object.
来源:https://stackoverflow.com/questions/439538/changing-the-net-application-configuration-file-name