asp.net – MSDeploy连接字符串的自动加密,字典中找不到密钥

Web Deploy 3.5以来,使用以下标志支持连接字符串的自动加密:-EnableRule:EncryptWebConfig.但是,运行它时:
"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -source:package='C:\[...]\MyApp.WebDeployPackage.zip' -dest:auto,includeAcls="False" -verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -setParamFile:"C:\[...]\MyApp.SetParameters.xml" -EnableRule:EncryptWebConfig  -verbose

我明白了:

Error Code: ERROR_FAILED_TO_ENCRYPT_WEB_CONFIG
More Information: Failed to encrypt destination web.config: C:\[...]\Web.config.  
Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_FAILED_TO_ENCRYPT_WEB_CONFIG.
Error: The given key was not present in the dictionary.

Learn more-link指向过时的文档,我似乎无法在线找到任何信息.

我怀疑该工具在幕后使用aspnet_regiis,但我不确定.是的,我正在使用完整的管理员权限运行上述内容.

解决方法

我有同样的问题,但这不是由于嵌套的web.config文件.原因是我的部署用户无法访问密钥容器(在Web部署服务错误日志中,抛出的异常是System.Configuration.ConfigurationErrorsException:无法打开RSA密钥容器.).

我最终使用了这个命令:aspnet_regiis -pa“NetFrameworkConfigurationKey”“< MYUSER>”给予< MYUSER>必要的访问.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....