System configuration dll как добавить

Обновлено: 03.07.2024

Я обнаружил, что

работает, но этот код помечен Microsoft как устаревший.

Я прочитал, что я должен использовать:

Кто-нибудь знает, как лучше всего это сделать?

21 ответ

Вам нужно добавить ссылку в System.Configuration в папке ссылок вашего проекта .

Вам определенно следует использовать ConfigurationManager поверх устаревшего ConfigurationSettings

Для примера App.config, как показано ниже:

Вы прочитали вышеуказанные настройки приложения, используя код, показанный ниже:

Вам также может понадобиться добавить ссылку на System.Configuration в вашем проекте, если ее еще нет. Затем вы можете получить доступ к значениям следующим образом:

Надеюсь, это поможет!

Обновление для платформы 4.5 и 4.6; следующее больше не будет работать:

Теперь перейдите к классу Setting через Свойства:

См. Управление настройками приложения для получения дополнительной информации.

Я использую это, и это хорошо работает для меня

Вы должны добавить в проект ссылку на сборку System.Configuration.

Чтение из конфигурации:

Вам нужно будет добавить ссылку на Config

  1. Откройте "Свойства" в своем проекте
  2. Перейдите на вкладку "Настройки"
  3. Добавьте "Имя" и "Значение"

Получить значение, используя следующий код:

строковое значение = Properties.Settings.Default.keyname;

Сохранить в конфигурации:

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

Допустим, у вас есть два проекта в вашем решении:

Ваша проблема может быть связана с тем, что вы добавляете app.config в SomeDLL, а не SomeExe. SomeDll может читать конфигурацию из проекта SomeExe.

В web.config должна быть следующая структура:

У меня была такая же проблема, просто прочитайте их так:

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

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

Я настоятельно рекомендую вам создать Wrapper для этого вызова. Что-то вроде ConfigurationReaderService и использование внедрения зависимостей для получения этого класса. Таким образом, вы сможете изолировать эти файлы конфигурации для целей тестирования.

Поэтому используйте предложенное ConfigurationManager.AppSettings["something"]; и верните это значение. С помощью этого метода вы можете создать какой-то возврат по умолчанию, если в файле .config нет ключа.

Кроме того, вы можете использовать formo :

Как я нашел лучший подход для систематического доступа к переменным настроек приложения, создав класс-оболочку для System.Configuration, как показано ниже

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

Для полноты картины есть еще один вариант, доступный только для веб-проектов:

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

Я пытаюсь добавить файл app.config в свою DLL, но все попытки потерпели неудачу.

Согласно MusicGenesis в разделе Ввод информации о конфигурации в DLL, это не должно быть проблемой. Поэтому, очевидно, я делаю что-то неправильно.

Следующий код должен вернуть мой ConnectionString из моей DLL:

Однако, когда я копирую файл app.config в консольное приложение, он отлично работает.

В то время как редко приходится отслеживать настройки отдельно для разных копий приложения в рамках одного профиля пользователя, очень маловероятно, что вы хотите, чтобы все разные способы использования DLL для совместного использования с друг друга. По этой причине, когда вы извлекаете объект "Конфигурация" с использованием "нормального" метода, возвращаемый объект привязывается к конфигурации домена приложения, в котором вы выполняете, а не к конкретной сборке.

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

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

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

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

Требования

В следующем списке описаны необходимое оборудование и программное обеспечение:

В этой статье предполагается, что вы знакомы со следующими разделами:

Создание приложения консоли, которое читает файл конфигурации

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

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

В меню File указать на New, а затем выбрать Project.

Убедитесь, что отображается окно Обозреватель решений. Если его не видно, нажмите клавишу CTRL+ALT+L.

В Обозревателе решений щелкните правой кнопкой мыши имя проекта, выберите Добавить, а затем выберите Новый элемент.

В списке Добавление новых элементов выберите XML-файл.

В текстовом окне Имя введитеApp.config, а затем выберите Добавить.

Вы можете использовать файл конфигурации приложений для сбора настраиваемой настройки приложения, которые вы сохраняете в формате ключ/значение. Элементы можно <add> включить в раздел <appSettings> связанного файла конфигурации. Каждая пара ключей и значений имеет один <add> элемент. Элемент <add> имеет следующий формат:

Добавьте раздел <appSettings> с элементами в файл <add> конфигурации между тегами <configuration> и </configuration> тегами.

Например, в следующем файле конфигурации содержится раздел, который указывает <appSettings> три пары ключей и значений:

В Обозревателе решений дважды щелкните Program.cs, чтобы отобразить окно кода. Добавьте следующие утверждения в модуль кода.

Эти утверждения должны отображаться перед любыми другими утверждениями в файле.

Добавьте ссылку на System.Configuration.dll, следуя следующим шагам:

Чтобы удерживать значение из ключа файла конфигурации в разделе файл конфигурации, заявите строковую переменную в разделе <appSettings> Main следующим образом:

Чтобы получить значение для указанного ключа из раздела файла конфигурации, используйте метод <appSettings> Get свойства AppSettings ConfigurationManager класса. Класс ConfigurationManager находится в пространстве System.Configuration имен. Когда метод получает параметр ввода строки, содержащий ключ, приложение получает значение, AppSettings.Get связанное с ключом.

Следующий код извлекает значение Key0 атрибута из связанного файла конфигурации. Затем код помещает это значение в sAttr переменную строки. Если ключа для этого значения не существует, в них ничего не sAttr хранится.

Чтобы отобразить значение, которое приложение извлекает в окне Консоли, используйте Console.WriteLine следующим образом:

Для получения всех пар ключей и значений в разделе можно использовать одну ссылку AppSettings на <appSettings> свойство. При использовании свойства приложение возвращает все связанные пары AppSettings ключей и значений. Эти пары хранятся в NameValueCollection типе. Содержит NameValueCollection записи ключа и значения для каждого ключа, который извлекает приложение. Класс NameValueCollection находится в пространстве System.Collections.Specialized имен.

Свойство AllKeys NameValueCollection ссылок строковый массив, который имеет запись для каждого ключа, который приложение извлекает. Используйте конструкцию foreach для итерации через массив, чтобы получить доступ к каждому AllKeys ключу, который извлекает приложение. Каждая запись ключа AllKeys — это тип данных строки.

Внутри foreach конструкции используйте для отображения ключа и Console.WriteLine связанного с ним значения в окне Консоли. Текущий ключ, в который находится процессы s приложения. Используйте его в качестве индекса для sAllNameValueCollection получения связанного значения.

Полное перечисление кода

Полный список файлов конфигурации (ConConfig.exe.config)

Убедитесь, что он работает

Устранение неполадок

Файл конфигурации сохранен в формате XML. Убедитесь, что вы следуете всем правилам синтаксиса XML. Помните, что XML является чувствительным к делу. Если XML не сформирован, или если элемент опечатка, вы получите System.Configuration.Configuration исключение.

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

Для имени файла конфигурации необходимо использовать следующий синтаксис:
<ApplicationName>.<ApplicationType>.config

Где <ApplicationName> имя приложения. <ApplicationType> это тип приложения, например .exe . И .config это необходимый суффикс.

Пользователи часто недоумевают, потому что программы, которые только недавно работали, не запускаются. Например, были запущены Photoshop и Skype, но теперь появляется ошибка "Программа не запускается, потому что system.configuration.dll отсутствует на вашем компьютере.

Что мне делать? Как мне ее вернуть? Как и где скачать system.configuration.dll и куда ее положить? Ответы на все ваши вопросы здесь!

Что такое system.configuration.dll?

"System.configuration.dll пропущена" - это достаточно стандартная ошибка на Windows PC. Чаще всего проблема заключается в установке обновления Windows и неудачной установке некоторой программы.:

A .dll файл (Dynamic Link Library) функционирует, когда конкретной программе нужен этот .dll файл. Если он поврежден/пропущен, пользователи видят, например, ошибку system.configuration.dll, которая приводит к аварийному завершению работы. Стоит добавить, что system.configuration.dll - это файл, используемый в дистрибутиве Visual C++ Redistributable для Visual Studio 2015.:

При появлении уведомления о пропущенном файле пользователи начинают поиск загрузки system.configuration.dll. Лучше делать это в проверенном месте, например на сайте DLL Kit, где нет ни угроз, ни вирусов.:

Самые распространенные ошибки с system.configuration.dll файлом на Windows

  • :Файл Dll удален/поврежден. Основная причина - удален или поврежден важный для приложения .dll файл. Вам необходимо восстановить файл или скачать его еще раз.
  • Ошибка в облаке Adobe. Проблема вызвана поломкой Visual C ++.
  • Файлы Visual Studio 2015 повреждены/пропущены. Файл .dll отсутствует на компьютере или поврежден приложением/системой/вирусом.
  • Система ПК заражена вирусами. Вредоносные программы и вирусы всегда повреждают файл system.configuration.dll.
  • В нем повреждены системные файлы. Ошибки и повреждения возникают после некорректной перезагрузки Windows и работы с зараженными программами и приложениями.

Другие распространенные System.configuration.dll ошибки включают:

  • “System.configuration.dll пропущена“
  • “System.configuration.dll ошибка загрузки“
  • “System.configuration.dll крах“
  • “System.configuration.dll не найдена“
  • “System.configuration.dll не удалось обнаружить“
  • “System.configuration.dll Нарушение Доступа“
  • “Точка входа в процедуру System.configuration.dll error“
  • “Не получается найти System.configuration.dll“
  • “Не могу зарегистрировать System.configuration.dll“

метод 1: Загрузить system.configuration.dll автоматически

Не знаете, какая версия system.configuration.dll вам нужна? Не волнуйтесь; используйте автоматический метод для решения проблемы или просто прочитайте статью ниже.

Для этого метода скачайте system.configuration.dll по нашей ссылке и используйте командную строку, чтобы зарегистрировать отсутствующую system.configuration.dll:

  • Одновременно нажмите клавиши Windows и R на клавиатуре - появится окно Run - введите cmd - нажмите Ctrl+Shift+Enter - перед вами появится командная строка с правами администратора.
  • Когда появится запрос, необходимо разрешить командной строке вносить изменения, поэтому нажмите Yes.
  • Теперь удалите файл реестра (введите или скопируйте команду regsvr32 /u system.configuration.dll, а затем нажмите Enter).
  • Теперь зарегистрируйте файл: введите команду regsvr32 system.configuration.dll и нажмите Enter.
  • Закрыть командную строку и запустить приложение.

SYSTEM.CONFIGURATION.DLL ВЕРСИИ

дата выпуска: February 28, 2021

Версия / биты Язык Размер MD5 / SHA-1
4.7.3056.0 32bit U.S. English 0.4 MB MD5 SHA1

дата выпуска: February 28, 2021

Версия / биты Язык Размер MD5 / SHA-1
4.6.57.0 32bit 0.13 MB MD5 SHA1

дата выпуска: February 28, 2021

Версия / биты Язык Размер MD5 / SHA-1
4.0.30319.1 32bit U.S. English 0.39 MB MD5 SHA1

дата выпуска: February 28, 2021

Версия / биты Язык Размер MD5 / SHA-1
2.0.50727.5420 32bit U.S. English 0.41 MB MD5 SHA1

Какая версия system.configuration.dll правильная?

Посмотрите на описания в таблице, где можно выбрать нужный файл. Существуют версии для 64-битной или 32-битной Windows и используемые в них языки. Выберите те dll-файлы, язык которых идентичен языку самой программы. Загрузите последние версии dll-файлов для своей программы.

Where should you place system.configuration.dll?

Ошибка "system.configuration.dll пропущена" будет исправлена, если переместить файл в папку установки приложения или игры. Также можно переместить system.configuration.dll в системный каталог Windows.

Если этот метод не помогает, используйте следующий.

метод 3: Переустановить Visual C++ Redistributable for Visual Studio 2015

Мы рекомендуем переустановить переустановку дистрибутива Visual C++ для Visual Studio 2015. Пожалуйста, придерживайтесь рекомендаций Microsoft по правильной установке отсутствующих файлов.

Рекомендуется скачать программу с официального сайта Microsoft:

  • Вам необходимо скачать Microsoft Visual C++ Redistributable с официального сайта Microsoft.
  • Выберите файл для вашей версии Windows: vc_redist.x64.exe для 64-битной версии или vc_redist.x86.exe для 32-битной операционной системы. Установите флажок рядом с файлом и нажмите кнопку Next.
  • Открыть файл - прочитать условия лицензирования программного обеспечения Майкрософт - согласиться - выбрать пункт Установить.

Если этот метод не помогает, используйте следующий.

Список некоторых исполняемых файлов библиотеки Visual C++

  • mfc140u.dll
  • mfcm140.dll
  • mfcm140u.dll
  • mfc140chs.dll
  • mfc140cht.dll
  • ucrtbase.dll
  • vcruntime140.dll
  • msvcp140.dll
  • concrt140.dll
  • vccorlib140.dll
  • vcamp140.dll

Вот некоторые решения по исправлению ошибки "system.configuration.dll is Missing". Пожалуйста, прочитайте все инструкции и следуйте им, чтобы успешно добавить конкретную версию файла .dll в Windows для восстановления system.configuration.dll проблемы.

метод 4: Запустить SFC сканирование (System File Checker)

Проверка системных файлов (SFC scan) - инструмент, доступный в Windows. Устройство считается самым быстрым способом автоматического исправления поврежденных системных файлов. Для запуска необходимо запустить его:

Если этот метод не помогает, используйте следующий.

метод 5: Обновить Windows до последней версии

Даже простое обновление Windows может помочь решить эту проблему. Обновляя операционную систему до последней версии, все ошибки system.configuration.dll могут исчезнуть:

  • Открыть настройки из меню Пуск или с помощью комбинации клавиш Windows+I.
  • Перейти к обновлению и безопасности.
  • В закладке Windows Update нажмите Check for updates.
  • Новое обновление найдено - Установить сейчас.

Если этот метод не помогает, используйте следующий.

метод 6: Переустановить нужное приложение

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

Общие режимы профиля:

<configuration>
<configSections> // Область объявления раздела конфигурации, включая раздел конфигурации и объявление пространства имен
<section> // Оператор раздела конфигурации
<sectionGroup> // Определение группы раздела конфигурации
<section> Оператор раздела конфигурации в группе раздела конфигурации
<appSettings> // Предварительно определенный раздел конфигурации
<Пользовательский элемент для раздела конфигурации> // Область настройки раздела конфигурации

Ниже приведен пример наиболее распространенного файла конфигурации приложения, содержащего только раздел appSettings:

В предопределенном разделе appSettings (обратите внимание на случай) есть много элементов, все имена которых - «добавить», а два атрибута - «ключ» и «значение».

Примечание. Теперь в Net FrameWork 2.0 четко указано, что этот атрибут ConfigurationSettings устарел, и его рекомендуется изменить на ConfigurationManager или WebConfigurationManager.

После добавления ссылки вы можете использовать ConfigurationManager.AppSettings ["Key"] для чтения соответствующего значения.

Однако свойство ConfigurationManager.AppSettings доступно только для чтения и не поддерживает изменение значений свойств. Это связано с тем, что Microsoft не рекомендует динамически записывать файл app.config, но рекомендует после ручной настройки только статический доступ во время работы программы.

Если вам действительно нужно внести изменения в программу, то есть написать App.Config, продолжайте читать.

Во-вторых, операции чтения и записи раздела конфигурации appSettings.

Метод чтения раздела appSettings файла App.config относительно прост. Доступ к нему можно получить с помощью вышеупомянутого метода System.Configuration.ConfigurationManager.AppSettings ["Key"], но, как упоминалось ранее, этот метод не обеспечивает запись.

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

Код реализации приведен ниже (добавьте ссылку на использование пространства имен System.Configuration)

1. Доступ к элементу <add> на основе несуществующего значения Key или даже использование метода remove () для удаления несуществующего элемента не вызовет исключения, первый вернет null.

2. Добавление существующего элемента <add> не вызовет исключения, но объединит существующее значение и новое значение, разделенные знаком «,», например: «olldvalue, newvalue».

3. После компиляции проекта под файлом bin \ Debuge в рабочем каталоге появятся два файла конфигурации, один с именем «ProjectName.exe.config», а другой с именем «ProjectName.vshost.exe.config». Первый файл - это файл конфигурации, фактически используемый проектом, и все изменения, внесенные во время работы программы, будут сохранены здесь; второй файл на самом деле является файлом синхронизации «App.config» в исходном коде, то есть не изменится.

4. Обратите особое внимание на регистр (файлы XML чувствительны к регистру), например, в разделе конфигурации appSettings.

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