Как видите, элемент
Однако если вы удалите каталог MyAsms со своей машины, то клиент работать не сможет. Очевидно, что элементы
Замечание. Если размещать компоновочные блоки в случайных местах на машине, велика вероятность того, что у вас, в конце концов, возникнет необходимость воссоздания реестра системы (из-за соответствующих проблем DLL), поскольку при перемещении или переименовании папок, содержащих выполняемые двоичные файлы приложений, имеющиеся связи будут нарушаться. В связи с этим используйте
Элемент
Исходный код
Пространство имен System.Configuration
До этого времени все файлы *.config, показанные в этой главе, состояли из известных XML-элементов, по которым среда CLR выясняла адреса внешних компоновочных блоков. Вдобавок кэтим элементам файл конфигурации клиента может содержать и специальные данные приложения, не имеющие никакого отношения к установке связей. С учетом сказанного становится ясно, почему в .NET Framework используется пространство имен, которое позволяет считывать данные файла конфигурации клиента программными средствами.
Пространство имен Sуstem.Configuration определяет небольшой набор типов, которые можно использовать для чтения пользовательских установок из файла *.config клиента. Эти пользовательские установки должны задаваться в контексте элемента
Предположим, что у нас есть файл *.сonfig дата консольного приложения AppConfigReaderApp, в котором определяется строка связи с базой данных и указатель на данные timesToSayHello.
appSettings>
Чтение этих значений для использования приложением клиента осуществляется простым вызовом метода экземпляра GetValue() типа System.Configuration. AppSettingsReader. Как показывает следующий пример программного кода, первый параметр: GetValue() задает имя ключа в файле *.config, а второй параметр представляет соответствующий тип ключа (получаемый в C# в результате применении операции typeof).
class Program {
static void Main(string[] args) {
// Создание средства чтения и получение строки соединения.
AppSettingsReader ar = new AppSettingsReader();
Console.WriteLine(ar.GetValue("appConstr", typeof(string)));
// Получение числа повторений приветствия и выполнение.
int numbOfTimes = (int)ar.GetValue("timesToSayHello", typeof(int));
for (int i = 0; i ‹ numbOfTimes; i++) Console.WriteLine("Йо!");
Console.ReadLine();
}
}