目前,我的应用程序在首次启动时自动加密其自身的App.config文件。
我正在使用ConfigurationManager
类,如此文章所示:
现在我希望在应用程序首次启动之前就已经对App.config进行了加密。
原因是我已经将安装程序添加到解决方案中,我不想让安装程序删除未加密的App.config。我希望这个过程自动化。
(我目前想到的唯一方法是在Post-Build事件中附加一个.exe文件,但难道没有更直接的方法吗?)
目前,我的应用程序在首次启动时自动加密其自身的App.config文件。
我正在使用ConfigurationManager
类,如此文章所示:
现在我希望在应用程序首次启动之前就已经对App.config进行了加密。
原因是我已经将安装程序添加到解决方案中,我不想让安装程序删除未加密的App.config。我希望这个过程自动化。
(我目前想到的唯一方法是在Post-Build事件中附加一个.exe文件,但难道没有更直接的方法吗?)
第一种选择:使用内置的MSBuild Exec Task 执行自己编写的实用程序,该实用程序能够加密配置文件。
第二种选择:自己编写MSBuild任务
我相信您可以编写一个简单的MSBuild
任务,该任务将查找App.Config
文件,并在解决方案构建时对其进行加密。
EncryptConfig.targets
的新MSBuild目标<Import Project="EncryptConfig.targets" />
更新csproj
文件AfterBuild
目标添加DependsOnTargets
: <Target Name="AfterBuild" DependsOnTargets="EncryptConfig.targets" />
4) 在 EncryptConfig.targets
中编写自己的任务并执行它。
如何编写自己的任务: