У меня есть консольное приложение aС#.Net, которое выполняет операции FTP. В настоящее время я указываю настройки в разделе пользовательской конфигурации, например
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="ftpConfiguration" type="FileTransferHelper.FtpLibrary.FtpConfigurationSection, FileTransferHelper.FtpLibrary" />
</configSections>
<ftpConfiguration>
<Environment name="QA">
<sourceServer hostname="QA_hostname"
username="QA_username"
password="QA_password"
port="21"
remoteDirectory ="QA_remoteDirectory" />
<targetServer downloadDirectory ="QA_downloadDirectory" />
</Environment>
</ftpConfiguration>
</configuration>
Я хочу указать в командной строке внешний файл конфигурации.
ОДНАКО!!!...
Я просто понял, что вышеописанный раздел "FtpConfiguration" действительно не принадлежит к приложению app.config. Моя конечная цель заключается в том, что у меня будет много запланированных задач, которые выполнят мое консольное приложение следующим образом:
FileTransferHelper.exe -c FtpApplication1.config
FileTransferHelper.exe -c FtpApplication2.config
...
FileTransferHelper.exe -c FtpApplication99.config
Следовательно, я считаю, что я пошел по неверному пути, и что я действительно хочу, это что-то прочитать в моем XML-документе, но продолжать использовать System.Configuration для получения значений... в отличие от чтения XmlDocument и его сериализации получить узлы/элементы/атрибуты. (Хотя, я не против последнего, если кто-то может показать мне простой код)
Указатели будут высоко оценены. Благодарю.
Обновление: ответ, который я принял, был ссылкой на другой вопрос StackOverflow, который повторялся здесь с моим кодом - ниже которого я точно искал, используя OpenMappedExeConfiguration, чтобы открыть мой внешний файл конфигурации
ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap();
configFileMap.ExeConfigFilename = @"D:\Development\FileTransferHelper\Configuration\SampleInterface.config";
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configFileMap, ConfigurationUserLevel.None);
FtpConfigurationSection ftpConfig = (FtpConfigurationSection)config.GetSection("ftpConfiguration");