asp.net MSDeployEnableWebConfigEncryptRule无法加密web.config
我已将true
到.pubxml文件以加密Web配置文件。 但是,在发布时,我收到以下错误。 我不知道除了在.pubxml中插入true
之外,web.config文件中是否还需要额外的设置
错误:Web部署任务失败。(无法加密目标web.config。有关详细信息,请访问: http : //go.microsoft.com/fwlink/?LinkId = 221672 #ERROR_FAILED_TO_ENCRYPT_WEB_CONFIG 。)
注意:#ERROR_FAILED_TO_ENCRYPT_WEB_CONFIG不会出现在给定链接的任何位置。
我怎么能解决这个错误? (注意:我不希望在发布之前在本地预加密web.config文件)
问题似乎是MSDeployEnableWebConfigEncryptRule不能与具有多个web.config文件的MVC项目一起使用。 通常,MVC项目具有Views / Web.Config文件。 这似乎是MSDeploy的一个错误。
我的解决方法是使用post deployment deployhell脚本在目标服务器上执行相同的命令。 见http://www.iis.net/learn/publish/using-web-deploy/web-deploy-powershell-cmdlets
Powershell脚本示例:
Add-PSSnapin WDeploySnapin3.0 $cmd = '%windir%\Microsoft.NET\Framework\v4.0.30319\ASPNET_REGIIS.exe -{0} {1} "{2}"' -f 'pef', 'connectionStrings', $destinationFolder New-WDPublishSettings -UserId $UserName -Password $Password -ComputerName $destination -AllowUntrusted -FileName server.publishsettings -AgentType MSDepSvc -Site $Website Invoke-WDCommand -Command $cmd -DestinationPublishSettings server -Verbose
我也得到了同样的信息。 我查看了事件查看器> Microsoft Web Deploy中的Web部署日志。 它给我的例外是:
ERROR_FAILED_TO_ENCRYPT_WEB_CONFIG Microsoft.Web.Deployment.DeploymentDetailedClientServerException:无法加密目标web.config:….有关详细信息,请访问: http : //go.microsoft.com/fwlink/?LinkId = 221672#ERROR_FAILED_TO_ENCRYPT_WEB_CONFIG。 —> System.Security.Cryptography.CryptographicException:对象已经存在。
谷歌搜索这导致我从“只是TFS”回答: 发布管理代理没有连接
其中说“部署用户(\)无法访问加密存储。在安装部署代理的服务器上,导航到此文件夹%ALLUSERSPROFILE%\ Application Data \ Microsoft \ Crypto \ RSA \ MachineKeys并给予读/写访问\。 – 只是TFS 2014年9月3日12:08“
所以我试图将我的MS Deployer用户帐户读/写到该MachineKeys文件夹,但它拒绝我这样做。 我最终添加了部署用户帐户作为本地管理员,并且这样做了。
能够与它一起部署将web.config文件成功加密到服务器。
- 必须将带有’LinkButton’类型的控件xxx放在带有runat = server的表单标签内
- AppDomain.CurrentDomain.UnhandledException未被调用
- 从对象类型System.Data.Spatial.DbGeography到已知的托管提供程序本机类型不存在映射
- 如何将entity framework中的数据访问映射到业务逻辑对象
- 当gridview具有autogeneratecolumns = true时,如何更改datagridview列日期格式
- Office文档为PDF
- 即使路径中有百分比编码的部分,我怎样才能可靠地获得实际的URL?
- 在ASP.NET Web Api C#中通过流发送和接收大型文件
- 共享资源锁