目前,我的应用程序会在第一次启动应用程序时自动加密自己的App.config文件。
我正在使用本文中演示的ConfigurationManager
类:
现在我希望App.config在应用程序首次启动之前已经加密。
为什么我在我的解决方案中添加了安装程序,而且我不希望安装程序丢弃未加密的App.config。我希望这个过程能够实现自动化。
(到目前为止我唯一提到的是将.exe附加到Post-Build事件,但是没有更直接的方式吗?)
答案 0 :(得分:3)
第一个选项:使用内置的MSBuild Exec Task执行自己的实用程序,它可以加密配置文件。
第二个选项:拥有MSBuild任务
我相信您可以编写一个简单的MSBuild
任务,该任务将找到App.Config
文件,然后在解决方案构建时对其进行加密。
EncryptConfig.targets
csproj
<Import Project="EncryptConfig.targets" />
文件
DependsOnTargets
目标添加AfterBuild
: <Target Name="AfterBuild" DependsOnTargets="EncryptConfig.targets" />
4)编写自己的任务并在EncryptConfig.targets
如何编写自己的任务: