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.

Ссылка " Узнать больше" указывает на устаревшую документацию, и я не могу найти какую-либо информацию в Интернете.

Я подозреваю, что инструмент использует aspnet_regiis за кулисами, но я не уверен. Да, я запускаю вышеупомянутое с полными правами администратора.

5 ответов

Решение

У меня была такая же проблема, но это было не из-за вложенного web.config файл. Оказывается, по какой-то причине мой пользователь развертывания не смог получить доступ к контейнеру ключей (в журналах ошибок службы веб-развертывания было выдано исключение System.Configuration.ConfigurationErrorsException: The RSA key container could not be opened.).

Я в конечном итоге с помощью этой команды: aspnet_regiis -pa "NetFrameworkConfigurationKey" "<MYUSER>" дать <MYUSER> необходимый доступ.

У меня возникла та же проблема, мне потребовалось некоторое время, чтобы найти исправление - удаление Web Deploy (через Установка и удаление программ) и повторная установка (через Установщик веб-платформы) сделали свое дело.

Чтобы другим было проще читать реальные ошибки - они записываются в журналы системных событий, вам нужно перейти вниз по дереву и развернуть приложения и перейти к Web Deploy.

Установка web deploy 3.6 на сервере с установленной веб-платформы исправила мою проблему

У меня была точно такая же проблема: удаление Web Deploy 3.5 (с помощью «Установки и удаления программ»), перезапуск компьютера, а затем переустановка Web Deploy 3.6 (с помощью установщика веб-платформы Microsoft) устранила эту проблему.

Обратите внимание на обновление версии с 3.5 до 3.6.

Я получил ту же проблему из-за того, что вложенный web.config файлы.

Это похоже на ошибку в EncryptWebConfig править.

Вы можете обойти эту проблему, если вы можете справиться только с рутом web.config,

Другие вопросы по тегам