Перемещение app.config файл к пользовательскому пути

Но когда мне нужно что-то как Singleton, я часто заканчиваю тем, что использовал Счетчик Schwarz для инстанцирования ее.

27
задан Ries 3 December 2009 в 09:15
поделиться

4 ответа

Каждый домен приложения имеет / может иметь свой собственный файл конфигурации. Домен приложения по умолчанию, созданный хостом CLR, использует имя_программы.exe.config; если вы хотите предоставить свой собственный файл конфигурации, создайте отдельный домен приложения. Пример:

// 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);

Надеюсь, что это поможет.

16
ответ дан 28 November 2019 в 04:38
поделиться

Извините, если я неправильно понял ваш запрос, но могу вы не используете

ConfigurationManager.OpenExeConfiguration Method (String)

В зависимости от изменения, возможно ли, что вы можете использовать

AppDomainSetup.ConfigurationFile Property

1
ответ дан 28 November 2019 в 04:38
поделиться

Вы можете использовать постоянный подход для вызова OpenExeConfiguration . Если вы буквально хотите переместить свой файл конфигурации, вам придется создать собственный домен приложения. В процессе настройки домена приложения у вас есть возможность указать, где находится файл конфигурации.

Кстати, файлы конфигурации .NET не подходят для конфигурации, по крайней мере, не тот вид, который пользователи могут изменять: они ' re не похожи на файлы INI или реестр. Если вам нужна гибкость в том, откуда берется ваша конфигурация, лучше хранить ее отдельно.

0
ответ дан 28 November 2019 в 04:38
поделиться

MSDN наверное, поможет ...

Элемент упрощает обслуживание компонентов сборки. Если один или несколько приложения используют сборку, имеющую файл конфигурации, находящийся в известное месторасположение, конфигурация файлы приложений, использующих сборка может использовать элемент к включить конфигурацию сборки файл, а не включать информация о конфигурации напрямую. Когда сборка компонента обслуживается, обновляя общие файл конфигурации предоставляет обновленные информация о конфигурации для всех applications that use the assembly

-3
ответ дан 28 November 2019 в 04:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: