Файлы конфигурации приложения
Файлы конфигурации приложения — это XML-файлы, которые хранят индивидуальные настройки приложения, такие как строки подключения к базам данных Connection String, адреса удаленных компьютеров и т.д. При загрузке приложения CLR проверяет наличие файла конфигурации и в случае его нахождения считывает из него данные.
Файлы конфигурации имеют расширение .config и располагаются в той же самой папке, что и файл приложения. Название файлов конфигурации формируется от имени приложения — файл NameApplication.exe.config принадлежит приложению NameApplication.exe.
Файлы конфигурации, поскольку они являются документами XML, содержат иерархическую структуру. Главным элементом иерархии является элемент <configuration>. Из-за того, что файл конфигурации представляет собой "правильный" XML-файл, все его элементы чувствительны к регистру символов. В таблице 9.1 представлены некоторые элементы и их атрибуты, которые могут находиться в файле конфигурации.
<configuration> | Корневой элемент файла конфигурации. Вся находящаяся в нем информация считывается средой CLR при запуске приложения | |||
<runtime> | Вложенный элемент configuration, содержит информацию о подключаемых сборках в процессе выполнения | |||
<assemblyBinding> | Вложенный элемент runtime, содержит информацию о версиях подключаемых сборок и их расположении | |||
<dependedAssembly> | Вложенный элемент assemblyBinding, содержит информацию о каждой из подключаемых сборок | |||
<assemblyIdentity> | Вложенный элемент dependedAssembly, содержащий частное имя сборки, культуру, открытый ключ | Name | Частное имя сборки | Да |
publicKeyToken | Открытый ключ сборки, если она подписана строгим именем | Нет | ||
Culture | Культура, указанная в сборке | Нет | ||
<bindingRedirect> | Вложенный элемент dependedAssembly, содержит информацию об изменении версии сборки | oldVersion | Старая версия сборки, которую нужно заменить | Да |
newVersion | Новая версия сборки, на которую нужно заменить старую | Да | ||
<codeBase> | Вложенный элемент dependedAssembly, содержит путь до сборки со строгим именем | Version | Версия сборки | Да |
Href | Адрес подключаемой сборки | Да | ||
<probing> | Указывает вложенные папки, в которых могут находиться подключаемые сборки | privatePath | Содержит названия каталогов, в которых могут находиться подключаемые сборки. Все указанные каталоги должны быть вложенными | Да |
<publisherPolicy> | Указывает, использовать ли настройки издателя. Если этот элемент расположен в элементе dependedAssembly, то политика распространяется только на указанную сборку, в противном случае политика распространяется на все указанные в файле конфигурации сборки | Apply | Указывает, применять ли политику издателя к сборкам. Возможные значения — yes и no | Да |