Visual Studio 2019发布Azure Web App时Secrets配置构建失败,求解决方案
问题解答
1. 是否可以撤销此次发布操作?
- 可通过Azure门户回滚:登录Azure门户找到目标Web应用,进入部署中心→部署历史记录,选择发布前的版本点击重新部署,即可恢复到发布前状态。
- 若使用Git部署:本地回滚到发布前的代码提交,重新推送到Azure部署分支,覆盖错误部署。
- 注意:如果发布时修改了Azure上的应用设置、连接字符串等配置,需手动恢复这些配置项。
2. 如何排查确定缺失的内容?
错误核心是Microsoft.Configuration.ConfigurationBuilders.Utils程序集缺失MapPath方法,按以下步骤排查:
- 检查NuGet包兼容性:确认项目中
Microsoft.Configuration.ConfigurationBuilders系列包(如UserSecrets、AzureKeyVault等)版本统一,且适配项目的目标.NET框架(VS2019常见.NET Framework 4.x或.NET Core 3.x/5.x)。版本不匹配的话,卸载后重新安装对应版本。 - 验证配置文件正确性:查看
web.config(.NET Framework)或appsettings.json(.NET Core)中的configBuilders节点,确保Secrets构建器的类型和程序集名称拼写正确。示例正确配置:<configBuilders> <builders> <add name="Secrets" type="Microsoft.Configuration.ConfigurationBuilders.UserSecretsConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.UserSecrets" /> </builders> </configBuilders> - 确认程序集存在:检查发布包的输出目录是否包含
Microsoft.Configuration.ConfigurationBuilders.Utils.dll。若缺失,在项目中右键该引用→属性,设置“复制到输出目录”为“始终复制”,重新发布。 - 核对目标框架版本:确保项目目标框架与配置构建器包支持的框架一致,比如部分版本的配置构建器要求.NET Framework 4.7.2及以上,框架版本过低会导致方法无法找到。
内容的提问来源于stack exchange,提问作者rick g
相关产品推荐
相关产品推荐

