Файлы конфигурации для объектов GAC

Обычно мы сохраняем наши значения конфигурации в web.config / app.config, а для глобальных переменных конфигурации среды (а не для конкретного приложения) в файле server machine.config.

При развертывании объекта в GAC, где лучше всего хранить эти значения типа конфигурации? Кажется, что лучше всего будет связанный файл ресурсов.

Есть ли у кого-нибудь опыт / рекомендации с этим подходом? (образец кода?)

Спасибо

Ответов (3)

Решение

Если вам не нужна конкретная конфигурация для каждого приложения, использующего вашу dll, вы можете поместить конфигурацию в файл machine.config внутри папки framework.

% systemRoot% / Windows / Microsoft.Net / Framework / [версия] /Machine.config

Значения конфигурации должны быть в конфигурации приложения исполняемой сборки. Приложение несет ответственность за наличие значений конфигурации, чтобы ваша сборка имела к ним доступ при загрузке в AppDomain.

Раньше мне были нужны файлы конфигурации для конкретной сборки (в отличие от выполнения файлов конфигурации сборки).

Для сборки в GAC можно (но не рекомендуется) физически скопировать файл конфигурации в папку dll сборки.

Решение, которое я использовал для создания файла конфигурации, который может использоваться всеми сборками независимо от домена приложения, - это простая запись в реестре для моего приложения, определяющая расположение общего файла конфигурации. Таким образом, любая сборка может получить параметры конфигурации из общего расположения, независимо от того, какая сборка запустила ее. (особенно полезно для написания сценариев - в противном случае вам пришлось бы развернуть файл конфигурации с именем wscript.exe.config в папке windows \ system32 - UGH!)