Зашифруйте файл App.config автоматически во время процесса сборки - PullRequest
6 голосов
/ 06 октября 2011

В настоящее время мое приложение автоматически шифрует собственный файл App.config при первом запуске приложения.

Я использую класс ConfigurationManager, как показано в этой статье:

Теперь я хочу, чтобы App.config уже был зашифрован до первого запуска приложения.

Причина, по которой я добавил установщик в свое решение, и мне не нужен установщик, который удаляет незашифрованный файл App.config.Я хочу, чтобы процесс был автоматизирован.

(единственное, что я до сих пор придумал, это присоединение .exe к событию после сборки, но разве нет более прямого пути?)

1 Ответ

3 голосов
/ 07 октября 2011

Первый вариант: Использование встроенного MSBuild Exec Task Выполнить собственную служебную программу, которая может зашифровать файл конфигурации.

Второй вариант: Собственная задача MSBuild

Я полагаю, что вы можете написать простую задачу MSBuild, которая найдет файл App.Config и затем зашифрует его во время сборки решения.

  1. Создайте новые цели MSBuildкак EncryptConfig.targets
  2. Обновление csproj файла <Import Project="EncryptConfig.targets" />
  3. Добавление DependsOnTargets для стандартных AfterBuild целей в csproj:
 <Target Name="AfterBuild" DependsOnTargets="EncryptConfig.targets" />

4) Напишите собственное задание и выполните его в EncryptConfig.targets

Как написать собственное задание:

...