场景:有两台服务器,生产环境和测试环境,发布代码的机器发布到生产环境无问题,发布到测试环境验证连接时报错,
(2020/11/3 14:16:57)在远程计算机上处理请求时出错。
文件名: MACHINE/WEBROOT
错误: 无法读取配置节“system.webServer/management/delegation”,因为它缺少架构
在 Microsoft.Web.Administration.Interop.AppHostWritableAdminManager.GetAdminSection(String bstrSectionName, String bstrSectionPath)
在 Microsoft.Web.Administration.Configuration.GetSectionInternal(ConfigurationSection section, String sectionPath, String locationPath)
在 Microsoft.Web.Delegation.DeploymentAuthorization.GetAuthProviderFromAdminConfig()
在 Microsoft.Web.Delegation.DeploymentAuthorization.get_Provider()
在 Microsoft.Web.Deployment.DelegationHelper.ImpersonateForOperation(String deploymentAction, String deploymentProvider, String deploymentPath, DelegationContextCache cache)
在 Microsoft.Web.Deployment.DelegationHelper.ImpersonateForOperation(String deploymentAction, DeploymentObject deploymentObject)
在 Microsoft.Web.Deployment.DeploymentObject.Add(DeploymentObject source, DeploymentSyncContext syncContext)
在 Microsoft.Web.Deployment.DeploymentSyncContext.HandleAdd(DeploymentObject destObject, DeploymentObject sourceObject)
在 Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObject destinationObject, DeploymentObject sourceObject)
在 Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable, Nullable`1 syncPassId, String syncSessionId)
在 Microsoft.Web.Deployment.DeploymentAgent.HandleSync(DeploymentAgentAsyncData asyncData, Nullable`1 passId, String user, String siteName)
处理过程:
1.初步寻找是否为发布配置有差异,文件在Properties/PublishProfiles目录下;尝试和生产环境同步配置,报错仍继续;
2.判断服务器IIS配置文件是否有差异,文件在C:/window/system32/inetmsv/inetsrv/config/administration.config;与生产环境同步比对后,报错仍继续;
3.服务器事件查看器可以查看到此报错,判断为服务器端问题,大概率为版本不对应问题,查看IIS版本,ASP.NET版本,Web Deploy版本,和生产环境均一致,报错继续;
4.下载Web Deploy3.6,地址https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=43717 ,卸载服务器上原有Web Deploy,重新安装,验证成功,问题解决。
此问题正确解决参考了https://qa.1r1g.com/sf/ask/2240335821/ 的解决方式。



