Есть ли возможность создавать файл * .config с нуля программно в .NET (C #)? - PullRequest
3 голосов
/ 01 октября 2010

Для нашего подхода мы хотим создать один из * .config файлов с нуля и заполнить его некоторыми значениями по умолчанию / пользовательскими значениями во время выполнения.

Есть ли возможность сделать это программно через ConfigurationManager или что-то в этом роде?

Ответы [ 3 ]

7 голосов
/ 01 октября 2010

Да.Как вы указали, класс ConfigurationManager позволяет вам читать и записывать файлы конфигурации.

ConfigurationManager Класс

Прокрутите немного вниз.

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

Чтобы заставить ConfigurationManager открыть произвольно названный файл конфигурации, выможет [ab?] использовать ExeConfigurationFileMap.Обратите внимание, что file может не существовать, и в этом случае он будет создан при вызове Save()

ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap
{
    ExeConfigFilename = file
};
var config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
//todo manipulate config. add settings / connection strings etc.
config.Save();
3 голосов
/ 01 октября 2010

Поскольку файлы .config представляют собой просто XML, вы можете просто использовать XmlTextWriter для создания своего конфигурационного файла.

0 голосов
/ 01 октября 2010

да, это простой и простой XML-файл

сейчас ... о каком config файле вы пишете? app.config? web.config? custom.config

первые два - поддержка конфигурации для приложения Windows и веб-приложения , поэтому вам нужно будет сгенерировать приложение " outside ", а затем запустить это приложение (которое уже происходит с проектом установки, где он запрашивает пользовательские вещи, и вы можете редактировать / добавлять в файл конфигурации, например, соединения с базой данных и т. д.)

...