Как развернуть настольное приложение .Net с пользовательскими настройками для пользователя - PullRequest
1 голос
/ 12 августа 2009

Это кажется простым вопросом, но интергуляты не были добрыми.

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

Каков наилучший / предпочтительный метод для извлечения этих данных из приложения, управления ими в VS (2008) и развертывания на настольных компьютерах клиентов?

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

спасибо

Ответы [ 2 ]

2 голосов
/ 12 августа 2009

Подсистема «Настройки приложения» позволяет создавать строго типизированные настройки для каждого пользователя или приложения. Просто щелкните правой кнопкой мыши проект, выберите «Свойства» и перейдите на вкладку «Настройки».


С Обзор настроек приложения :

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

Настройки приложения работают по сохранение данных в виде XML для разных файлы конфигурации (.config), соответствует ли настройка является областью приложения или пользователем. В большинстве случаев область применения настройки доступны только для чтения; потому что они информация о программе, вы будете как правило, не нужно перезаписывать их. Напротив, пользовательские настройки могут читать и писать безопасно во время бега время, даже если ваше приложение работает под частичным доверием. Для большего информацию о частичном доверии см. Обзор безопасности в Windows Forms.

Когда вы добавляете параметр, Visual Studio создает строго типизированное свойство в классе параметров. Он также создает запись в файле конфигурации приложения. Для настройки приложения это фактическое значение настройки. Вы можете изменить его во время установки, если хотите. Для настройки пользователя это значение по умолчанию. Пользователь может изменить значение во время выполнения. Затем вы можете вызвать метод Save, чтобы сохранить измененное значение. Текущее значение пользовательских настроек хранится в файле user.config, который хранится в правильной папке для каждого пользователя в зависимости от того, является ли пользователь роумингом, локальным и т. Д.

Это действительно очень хорошо, когда используется с Windows Forms, так как различные свойства форм и элементов управления могут быть связаны с настройками приложения во время разработки. Это означает, что при запуске приложения эти свойства будут принимать свои начальные значения из настроек. Если значения изменяются во время выполнения, настройки изменяются. Затем вы можете сохранить измененные настройки до выхода из приложения. Затем они будут автоматически использоваться при повторном запуске приложения. Это занимает очень мало кода.

Несмотря на то, что они были созданы для Windows Forms в .NET 2.0, я использовал их с другими типами проектов, особенно с проектами модульного тестирования. Конечно, в этой ситуации у вас нет пользовательских настроек.

2 голосов
/ 12 августа 2009

Вы можете хранить информацию такого типа в файле App.Config, в файле INI или в реестре в целевой системе.

В зависимости от метода, который вы выбрали, доступно много примеров кода:

C # App.Config files

C # INI-файлы

C # Доступ к реестру

...