Я сделал проект в C # .NET, где мой файл базы данных представляет собой книгу Excel. Так как расположение строки соединения жестко задано в моей кодировке, нет проблем с ее установкой в моей системе, но для других систем она существует.
Есть ли способ предложить пользователю указать путь после завершения установки приложения?
Ответы, которые я получил, были «Использовать App.Config» ... Кто-нибудь может сказать, что это за App.config и как использовать его в моем контексте здесь?
c#
.net
app-config
Shyam
источник
источник
Ответы:
Простейший файл app.config представляет собой XML-файл со множеством предопределенных разделов конфигурации и поддержкой пользовательских разделов конфигурации. «Раздел конфигурации» - это фрагмент XML со схемой, предназначенной для хранения некоторого типа информации.
Настройки можно настроить с помощью встроенных разделов конфигурации, таких как
connectionStrings
илиappSettings
. Вы можете добавить свои собственные разделы конфигурации; это сложная тема, но очень мощная для создания строго типизированных файлов конфигурации.У веб-приложений обычно есть web.config, а в приложениях с графическим интерфейсом и службами Windows есть файл app.config.
Файлы конфигурации уровня приложения наследуют настройки из глобальных файлов конфигурации, например, machine.config.
Чтение из App.Config
Строки подключения имеют предопределенную схему, которую вы можете использовать. Обратите внимание, что этот небольшой фрагмент на самом деле является действительным файлом app.config (или web.config):
После того как вы определили свой app.config, вы можете прочитать его в коде, используя класс ConfigurationManager . Не пугайтесь многословных примеров MSDN; это на самом деле довольно просто.
Запись в App.Config
Частое изменение файлов * .config, как правило, не очень хорошая идея, но похоже, что вы хотите выполнить единовременную настройку.
См. Изменение строки подключения и перезагрузка app.config во время выполнения, в котором описано, как обновить
connectionStrings
раздел файла * .config во время выполнения.Обратите внимание, что в идеале вы могли бы выполнить такие изменения конфигурации с помощью простого установщика.
Расположение App.Config во время выполнения
В : Предположим, я вручную изменил некоторые данные
<value>
в app.config, сохранил их и затем закрыл. Теперь, когда я захожу в папку bin и запускаю отсюда файл .exe, почему он не отражает примененные изменения?A : Когда вы компилируете приложение, его app.config копируется в каталог bin 1 с именем, соответствующим вашему exe. Например, если ваш exe-файл был назван «test.exe», в каталоге bin должен быть «text.exe.config». Вы можете изменить конфигурацию без перекомпиляции, но вам нужно будет отредактировать файл конфигурации, созданный во время компиляции, а не исходный файл app.config.
1: обратите внимание, что файлы web.config не перемещаются, а остаются в том же месте во время компиляции и развертывания. Единственное исключение - когда преобразуется web.config .
.NET Core
Новые параметры конфигурации были введены с .NET Core. Способ работы файлов * .config, по-видимому, не изменился, но разработчики могут выбирать новые, более гибкие парадигмы конфигурации.
источник
Проще говоря , App.config - это
XML
формат файла на основе, который содержит конфигурации уровня приложения .Пример:
Вы можете получить доступ к конфигурациям, используя,
ConfigurationManager
как показано в фрагменте кода ниже:Примечание:
ConfigurationSettings
это устаревший метод для получения информации о конфигурации.источник
System.Configuration.dll
, чтобы использовать вышеупомянутые API.System.Configuration.ConfigurationManager.AppSettings["Key"]
уже является строкой, вызываяToString()
ее излишнеПросто чтобы добавить что-то, чего мне не хватало во всех ответах - даже если это кажется глупым и очевидным, как только вы узнаете:
Файл должен называться «App.config» или «app.config» и может находиться в вашем проекте на том же уровне, что и, например, Program.cs.
Я не знаю, возможны ли другие местоположения, другие имена (например, application.conf, как предложено в документации ODP.net) не работали для меня.
PS. Я начал с Visual Studio Code и создал новый проект с «dotnet new». Файл конфигурации не создается в этом случае, я уверен, что есть другие случаи. PPS. Вам может потребоваться добавить пакет nuget, чтобы иметь возможность прочитать файл конфигурации, в случае .NET CORE это будет «пакет добавления dotnet System.Configuration.ConfigurationManager --version 4.5.0»
источник
/resources
App.Config - это файл XML, который используется в качестве файла конфигурации для вашего приложения. Другими словами, вы храните в нем любые настройки, которые вы можете изменить, не изменяя код (и не перекомпилируя). Он часто используется для хранения строк подключения.
Посмотрите эту статью MSDN о том, как это сделать.
источник
Вы можете получить доступ к ключам в App.Config используя:
Взгляните на эту тему
источник
Просто добавив еще один пункт
Используя app.config, вы можете применить определенные изменения ко всему приложению, использовать файл конфигурации приложения и получить доступ к настройкам, как показано ниже: ConfigurationSettings.AppSettings ["Key"]
источник