Asp.net

MSDeploy自動加密連接字元串,在字典中找不到密鑰

  • February 27, 2019

由於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.

了解更多連結指向過時的文件,我似乎無法線上找到任何資訊。

我懷疑該工具在幕後使用 aspnet_regiis,但我不確定。是的,我正在以完整的管理員權限執行上述內容。

我有同樣的問題,但這不是由於嵌套web.config文件。結果由於某種原因,我的部署使用者無法訪問密鑰容器(在 Web 部署服務錯誤日誌中,拋出的異常是System.Configuration.ConfigurationErrorsException: The RSA key container could not be opened.)。

我最終使用了這個命令:aspnet_regiis -pa "NetFrameworkConfigurationKey" "<MYUSER>"提供<MYUSER>必要的訪問權限。

我遇到了同樣的問題,我花了一段時間才找到解決方法——解除安裝 Web Deploy(通過添加/刪除程序)並再次安裝(通過 Web 平台安裝程序)就可以了。

為了讓其他人更容易閱讀實際錯誤 - 它們記錄在系統事件日誌中,您需要向下導航並展開應用程序並向下導航到 Web 部署。

引用自:https://stackoverflow.com/questions/19636870