asp.net - 错误: XML transformation error in Azure Pipelines

标签 asp.net azure azure-devops web-config continuous-deployment

我花了一天时间试图找出 Azure DevOps 中 XML 转换错误的根源,但我似乎无法解决该问题。在本地,配置转换工作正常,并且配置转换适用于我要部署到的 Azure DevOps 中工作的其他环境。

终止 IIS Web 应用部署任务时日志中显示的错误是:

2021-02-26T15:29:49.9263250Z ##[error]Error: XML transformation error while transforming C:\...\Web.config using C:\...\Web.Live.config.

显然,我已经删除了 Azure DevOps 应用的长文件路径。

在 IIS Web 应用程序部署任务日志中,会显示以下错误,但未突出显示为重要错误。 Aster 记录了此错误,它似乎确实应用了转换,然后给出了上述终止进程的错误:

2021-02-26T15:29:49.9178971Z System.NullReferenceException: Object reference not set to an instance of an object.
2021-02-26T15:29:49.9180071Z    at Microsoft.Web.XmlTransform.XmlTransformationLogger.ConvertUriToFileName(XmlDocument xmlDocument)
2021-02-26T15:29:49.9180525Z    at Microsoft.Web.XmlTransform.XmlTransformationLogger.LogWarning(XmlNode referenceNode, String message, Object[] messageArgs)
2021-02-26T15:29:49.9180911Z    at Microsoft.Web.XmlTransform.Transform.ApplyOnAllTargetNodes()

我已经检查了 XML 文件,但找不到任何格式错误的 XML,我还通过 XML 验证器运行了它。我已经在 Visual Studio 2019 Professional 中本地预览了转换(可以使用 Slow Cheetah),效果也很好。

任何人都可以指出可能导致管道中出现此转换错误的原因吗?

最佳答案

我找到了答案,它是由这位顶尖的小伙子或女士在博客上发布的。

https://tatvog.wordpress.com/2017/06/06/visual-studio-team-services-web-config-transform-error/

编辑: 如果链接失效,解决方法如下。

我发现罪魁祸首是以下转换:

<system.web>
    <compilation xdt:Transform="RemoveAttributes(debug)" />
</system.web>

我通过将转换更改为:

<system.web>
   <compilation targetFramework="4.5" xdt:Transform="Replace">
   </compilation>
</system.web>

关于asp.net - 错误: XML transformation error in Azure Pipelines,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66389123/

相关文章:

azure - 设置 AKS 群集静态 IP、负载均衡器和入口 Controller 的正确方法是什么?

azure - 重试请求以 "Content length mismatch"结尾

angular - Azure Devops Angular 环境变量

postgresql - Terraform 为 azure Postgressql 灵活服务器配置数据库角色引发错误

asp.net - 在 ASP.NET 中不使用 JavaScript 打开和关闭弹出窗口

c# - 将日期时间转换为时间并显示在 GridView 的标签中

Azure应用程序网关: HostName Mystery

javascript - 阻止 Chrome 调试器在恢复调试器时重新加载页面

c# - 如何从 linq 查询中获取所有元素?

azure - 组织函数应用程序从 azure devops 进行部署 - 管道 CI/CD