Как открыть файл настроек

Обновлено: 04.07.2024

С помощью классов из пространства имен System.Configuration управляемый код может считывать установки из конфигурационных файлов, но не записывать их в эти файлы.

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

Формат файлов конфигурации

Файлы конфигурации состоят из элементов, которые являются логическими структурами данных, задающими сведения о конфигурации. Начало и конец каждого элемента в файле конфигурации отмечены специальными тегами. Например, <runtime> элемент состоит из <runtime> дочерних элементов </runtime> . Пустой элемент будет записан как <runtime/> или <runtime></runtime> .

Как и во всех XML-файлах, в файлах конфигурации учитывается регистр.

Параметры конфигурации задаются с помощью предварительно определенных атрибутов (пар имя-значение) в открывающем теге элемента. В следующем примере заданы два атрибута ( version и href ) элемента <codeBase> , определяющие для среды выполнения расположение сборок (дополнительные сведения см. в разделе Указание расположения сборки).

Файлы конфигурации компьютеров

Система конфигурации сначала просматривает файл конфигурации компьютера для <appSettings> элемента и других разделов конфигурации, которые может определить разработчик. Затем поиск выполняется в файле конфигурации приложения. Для облегчения управления файлом конфигурации компьютера рекомендуется переместить эти параметры в файл конфигурации приложения. Однако размещение параметров в файле конфигурации компьютера упрощает управление системой. Например, при наличии компонентов сторонних производителей, используемых сервером и клиентами, рекомендуется разместить параметры этих компонентов в одном файле. В этом случае следует задавать параметры в файле конфигурации компьютера, чтобы не дублировать параметры в разных файлах.

При развертывании приложения с помощью команды XCOPY файл конфигурации компьютера не копируется.

Дополнительные сведения об использовании файла конфигурации компьютера средой CLR для привязки сборок см. в разделе Обнаружение сборок в среде выполнения.

Файлы конфигурации приложений

В файле конфигурации приложения находятся параметры приложения. В этом файле содержатся параметры конфигурации, считываемые средой CLR (например, политика привязки сборок, удаленные объекты и т. д.) и приложением.

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

Приложение, размещенное в исполняемом файле.

Такие приложения имеют два файла конфигурации: исходный файл конфигурации, который изменяется разработчиком во время разработки, и выходной файл, распространяемый с приложением.

При разработке в Visual Studio разместите исходный файл конфигурации приложения в каталоге проекта и установите для его свойства Копировать в выходной каталог значение Всегда копировать или Копировать, если новее. Имя файла конфигурации — это имя приложения с расширением CONFIG. Например, исходный файл конфигурации приложения myApp.exe должен называться myApp.exe.config.

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

Приложение, размещенное в Internet Explorer.

Если для приложения, размещенного в Internet Explorer, определен файл конфигурации, его расположение задается в теге <link> следующим образом:

В этом теге location — это URL-адрес файла конфигурации. Таким образом задается базовая папка приложения. Файл конфигурации должен находиться на том же веб-сайте, что и приложение.

Файлы конфигурации безопасности

В файлах конфигурации безопасности содержатся сведения об иерархии групп кода и наборах разрешений, связанных с уровнем политики. Для изменения политики безопасности настоятельно рекомендуется использовать средство политики безопасности доступа кода (Caspol.exe), что гарантирует целостность файлов конфигурации безопасности.

Ниже приведено расположение файлов конфигурации безопасности.

Файл конфигурации политики предприятия: %путь-установки-среды-выполнения%\Config\Enterprisesec.config

Файл конфигурации политики компьютера: %путь-установки-среды-выполнения%\Config\Security.config

Файл конфигурации политики пользователя: %USERPROFILE%\Application data\Microsoft\CLR security config\v xx.xx\Security.config

в этом разделе

Практическое руководство. Поиск сборок с помощью DEVPATH
Описание процесса настройки среды выполнения для использования переменной среды DEVPATH при поиске сборок.

Перенаправление версий сборки
Инструкции по указанию местоположения и версии сборки, которая должна использоваться приложением.

Указание расположения сборки
Сведения о том, как указать среде выполнения, где она должна осуществлять поиск сборки.

Настройка криптографических классов
Описание процесса сопоставления имени алгоритма криптографическому классу и идентификатора объекта в криптографическому алгоритму.

как создать политику Publisher
Сведения о том, куда и каким образом нужно добавить файл политики издателя, чтобы задать перенаправление сборки и параметры базового каталога кода.

Схема файла конфигурации
Описывается иерархия схемы для запуска, среды выполнения, сети и других типов параметров конфигурации.

В данной статье мне бы хотелось рассмотреть проблему загрузки настроек из конфигурационных файлов. Как правило, разработчики используют тяжеловесное и сложное API из пространства имен System.Configuration и считывают настройки шаг за шагом. В случае если в конфигурационном файле секция, которую надо считать, представляет из себя простую структуру (без вложенностей), то, в принципе, считывание не вызывает особых проблем. Однако, как только конфигурация усложняется и/или появляются вложенные подсекции, то распарсивание превращается в настоящую головную боль. Для простого и быстрого считывания настроек и загрузку их в память отлично подойдет библиотека ConfigurationParser, которая возьмет на себя все сложности работы с конфигурационными файлами.

Установка

Данная библиотека доступна для скачивания через NuGet. Или вы можете скачать исходники из GitHub.

Использование

Для демонстрации возможностей библиотеки давайте представим, что нашей программе требуются настройки для подключения к нескольким внешним сервисам, базам данных и наша система должна уметь отправлять письма администраторам системы. Мы решили, что данные настройки будут находится в трех секциях.

Следующим шагом необходимо создать классы, в которых мы будем хранить настройки системы.

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

Теперь мы можем считать нашу конфигурацию легко и непринужденно:


После выполнения кода у нас будет создано 2 объекта, которые и будут содержать наши настройки. Как вы можете справедливо заметить, мы не считываем SmtpSettings. Это сделано для того, чтобы продемонстрировать дополнительные возможности утилиты.

В различных проектах вам может понадобиться записывать разнообразные настройки в конфигурационные файлы и иметь свою логику как с ними работать. Утилита спроектирована таким образом, что вы можете ее легко расширить путем добавления новой стратегии и покрыть все сценарии, которые вам нужны. Для примера, давайте рассмотрим секцию Recipients:


Эта секция содержит список email-ов, разделенных точкой с запятой. Согласно нашему ТЗ и классу мы должны записать каждый адрес как отдельный элемент в массиве. Для выполнения поставленной задачи нам надо создать класс SplitRecipientsCustomStrategy и реализовать интерфейс ICustomMappingStrategy

Внутри нам необходимо реализовать алгоритм распарсивания значения из секции в соответствии с нашим заданием. Необходимо учитывать, что метод Map(string input, Type itemType) вызывается если значение прочитано из атрибута, а метод Map(XmlNode xmlNode, Type itemType) вызывается если значение прочитано из секции. Согласно конфигурационному файлу, значение будет прочитано из секции.

После этого нам необходимо пометить свойство Recipients атрибутом CustomStrategy в котором нужно указать, что за «стратегия» будет использоваться для данного поля:


Вот и все, теперь мы можем считать настройки электронной почты.


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

Хотелось бы упомянуть еще об одной возможности данной библиотеки. Это аттрибут PropertyMappingAttribute. Его нужно использовать в случае когда название элемента в конфигурационном файле не совпадает с названием свойства.
Например, у нас есть секция Email, где записывается текущий почтовый адрес пользователя.

А вот в класс для хранения данного значения у нас предусмотрено свойство UserEmail. Чтобы настройки правильно считались необходимо поменить данное свойство аттрибутом PropertyMappingAttribute.

Таким образом названия элементов в конфигурационном файле необязательно должны совпадать с именами свойств.

Если у вас возникнут какие-либо вопросы или предложения, пожалуйста, пишите их в комментариях, я с радостью на них отвечу.

Что такое файлы конфигурации и как их редактировать?

Подавляющее большинство используемых нами компьютерных программ — будь то офисные пакеты, веб-браузеры или даже видеоигры — настраиваются через систему интерфейсов меню. Это стало практически стандартным способом использования наших машин. Но некоторые программы требуют, чтобы вы сделали шаг за этим, и вам действительно нужно отредактировать текстовый файл, чтобы заставить их работать так, как вы хотите.

Эти текстовые файлы, что неудивительно, называются «конфигурационными файлами». Если вы хотите перейти от «пользователя» к «продвинутому пользователю», вам нужно знать, как их настроить.

Что такое файлы конфигурации?

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

Файлы конфигурации — это, по сути, файлы, которые содержат информацию, необходимую для успешной работы программы, которые структурированы особым образом. Вместо того, чтобы быть жестко запрограммированными в программе, они настраиваются пользователем и, как правило, хранятся в текстовом файле (хотя ранее я видел программы, которые использовали базы данных SQLite. как их конфигурационные файлы).

Удивительно, но не существует определенного стандарта о том, как должны работать файлы конфигурации или как они должны выглядеть. Это полностью зависит от прихоти разработчика программы.

Некоторые конфигурационные файлы структурированы в формате собственного дизайна разработчика. Другие используют широко известные стандарты, используемые для структурирования данных, такие как формат JSON (нотация объектов JavaScript), YAML (язык разметки YAML) или XML (расширяемый язык разметки). Некоторые программы загружают информацию, хранящуюся в их конфигурационных файлах, когда они запускаются, в то время как другие периодически проверяют, была ли она изменена.

ConfigJSON

Если вы пользователь Linux, вы, вероятно, будете знакомы с ними, так как многие основные задачи обслуживания требуют редактирования файлов конфигурации. Если вы хотите настроить GRUB для двойной загрузки вашей системы загрузку загрузку или настройке веб-сервера настроить веб-сервер , вам придется иметь дело с ними.

Хотя это не исключительно Linux вещь. В зависимости от того, что вы делаете, вам, возможно, придется редактировать их в Windows или Mac OS X.

Как выглядят файлы конфигурации?

Теперь давайте взглянем на некоторые реальные конфигурационные файлы. Как мы упоминали ранее, они бывают разных форм и размеров. Один файл конфигурации, с которым вы почти наверняка знакомы, — это файл hosts, который используется в Windows, Mac и Linux для сопоставления IP-адресов с именами узлов вручную.

Хосты

В Windows вы можете найти его в папке c: \ windows \ system32 \ drivers \ etc \ hosts . На Mac и Linux это будет в / etc / hosts .

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

ВИМ-vundle-код

В Linux и Mac OS X некоторые программы требуют, чтобы пользователь сохранял файл конфигурации в домашнем каталоге с точкой в ​​начале имени файла. Эти конфигурационные файлы иногда имеют расширение .rc, и в разговорной речи называются «точечные файлы».

Одна из программ, которая следует этому конкретному соглашению, — текстовый редактор Vim . В прошлом мы говорили о том, как настроить VIM, отредактировав его конфигурационный файл настроек настроек

Файлы конфигурации даже используются в видеоиграх для определения и управления некоторыми действиями, такими как сопоставления клавиш. Конфигурационный файл ниже взят из Black Mesa — фанатского ремейка оригинального Half Life .

BlackMesa

В оригинальной версии Deus Ex , выпущенной в 2000 году, пользователю фактически пришлось отредактировать файл конфигурации, чтобы включить читы!

Как редактировать файлы конфигурации

Итак, теперь мы знаем, для чего используются файлы конфигурации, давайте поговорим о том, как мы можем их редактировать.

Для этого вам понадобится текстовый редактор. Не используйте текстовый процессор, так как они могут добавить форматирование в файл, что помешает их чтению программой.

Пользователи Windows уже имеют предустановленный текстовый редактор. Я говорю о блокноте. Хотя стоит подчеркнуть, что для Windows существует множество отличных текстовых редакторов сторонних производителей, включая Notepad ++, Atom и Sublime Text Editor.

AtomHosts

В Linux наиболее близким аналогом Notepad является Gedit . Вы также можете рассмотреть возможность использования текстового редактора командной строки, такого как Nano или Vim . Ради большей эффективности я сильно склоняюсь к текстовому редактору Vim. Это позволяет мне легко переходить на разные позиции в файле конфигурации, просто используя всего несколько нажатий клавиш.

В Mac OS X (или MacOS Sierra, скоро станет известно, ), есть несколько текстовых редакторов, которые поставляются предварительно установленными. Вы, вероятно, знакомы с TextMate. Он также включает несколько текстовых редакторов командной строки, таких как Vim и Nano.

Когда вы редактируете файл, важно убедиться, что вы соблюдаете его соглашения. Это можно решить, просто взглянув на это. Некоторые конфигурационные файлы, такие как файл hosts, объяснят вам эти соглашения. Другие заставят вас прочитать некоторую документацию или пару постов в блоге.

Наконец, если редактируемый файл конфигурации структурирован в формате JSON или XML, вы можете использовать более мощный текстовый редактор с подсветкой синтаксиса. Я рекомендую Атом. Это повысит вашу точность, показывая, когда вы допустили ошибку.

Что, если это не работает?

Наконец, давайте коснемся того, что происходит, когда что-то идет не так. По моему опыту, проблемы, связанные с редактированием конфигурационных файлов, имеют тенденцию делиться на два лагеря.

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

В Windows щелкните правой кнопкой мыши Блокнот (или любой текстовый редактор, который вы используете) и выберите Запуск от имени администратора .

NotepadRunAsAdmin

Вторая распространенная проблема — ошибка пользователя. Если что-то не работает, это может быть ваша вина. Убедитесь, что вы не сделали никаких опечаток, и что вы следовали соглашениям файла конфигурации. Я знаю, это кажется очевидным, но простая орфографическая ошибка или забывание закрыть пару речевых меток может сделать весь файл бесполезным.

Хороший способ избежать проблем — сделать копию файла конфигурации, прежде чем вносить какие-либо изменения. Таким образом, если что-то пойдет не так, вы можете восстановить копию и начать заново!

Файлы конфигурации важны

Более того, они являются неотъемлемой частью использования Linux. Знание того, как правильно их редактировать, поможет вам бесконечно.

Есть ли какие-то другие важные навыки, которые, по вашему мнению, должны знать пользователи Linux от начального до среднего уровня? Позвольте мне знать в комментариях ниже.

При получении файлов в Windows 10 вы можете иногда сталкиваться с новыми типами файлов, которые могут быть вам незнакомы. Открыть его с помощью приложения по умолчанию может не всегда сработать. Одним из примеров является файл CFG. Давайте сначала поговорим о том, что такое файл CFG.

Что такое файл CFG в Windows?

Компьютеры с Windows и Mac распознают файлы CFG. Обычно он поставляется в текстовом файле стандартного формата JSON или XML. Файлы можно легко изменять или редактировать. Тем не менее, вам нужно знать, где их открывать или редактировать. В противном случае это повлияет на программное обеспечение, в котором вы будете его использовать.

Редактирование файла CFG приведет к изменению конфигурации в приложении. Поэтому, если вы пытаетесь открыть или отредактировать файл CFG, убедитесь, что вы знаете, что делаете.

Как открыть файл CFG на компьютере с Windows 10

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

Блокнот предлагает основные функции и не имеет дополнительных инструментов форматирования. Notepad ++ может поддерживать другие языки, такие как C ++ и Java. Вы также можете использовать подсветку и сворачивание синтаксиса в Notepad ++.

  • Чтобы открыть файл CFG с помощью Блокнота или Notepad ++, запустите проводник.
  • Найдите файл CFG, который хотите открыть.
  • Щелкните правой кнопкой мыши имя файла.
  • Щелкните Открыть с помощью.
  • Выберите Блокнот или Блокнот ++. Если вы не можете найти его в опции, нажмите «Другие приложения».
  • Щелкните кнопку ОК.

Вы также можете открыть файл CFG через Wordpad. Это программа в вашей Windows 10, которая сочетает в себе функции Microsoft Word и Блокнота. Вы можете использовать различные инструменты форматирования и вставлять ссылки или объекты в текст.

Так же, как шаги по открытию файла CFG с помощью Блокнота или Notepad ++, откройте его с помощью Wordpad.

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

Какие из перечисленных выше инструментов вам удобнее использовать для открытия файлов .cfg? Почему? Мы хотели бы знать, что вы думаете, так что расскажите нам в комментариях ниже.

Читайте также: