在使用 Release Management 部署 WebApplication 后,我正在使用 PowerShell 脚本自动加密 web.config 的某些部分。在这个 PowerShell 脚本中,我使用 aspnet_regiis.exe 为我执行加密,如下所示:
$AspNetRegIisLocation = "C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe"
& $AspNetRegIisLocation -pef $configSection $configPath
随着$configSection
和$configPath
被正确定义,加密工作成功。可悲的是,它导致未加密部分之一中的欧元符号从 损坏<sharedSettings currencyFormat="{0:€ #,##0}" />
到<sharedSettings currencyFormat="{0:€ #,##0}" />
。
我尝试将欧元符号转义为并在我的 web.config 顶部€
设置打开和关闭。encoding="utf-8"
这些解决方案都不起作用,除了在加密之前复制所有部分并在之后重新插入未加密部分之外,我能做些什么来防止这种情况再次发生,我有点茫然。
编辑:当此部分也被加密时,网站上显示的文本也“损坏”,这意味着“稍后插入未加密部分”的解决方案无法解决问题出现在加密部分的情况。