从头开始部署具有多个 TDS 项目的 Sitecore 解决方案时出错

Getting errors when deploy Sitecore solution with multiple TDS projects from scratch

如果从头开始部署完整解决方案,则会出现各种错误。如果我以正确的顺序一个一个地部署我的 TDS 项目,工作正常。

示例错误:

error TDS0005: Deploy of /sitecore/layout/renderings/customer/business planning/latest promotion failed. Reason: Field 'VaryByCustomer' does not exist in template 'Controller rendering'

发生此错误是因为 TDS 项目的部署顺序错误。顺序对于从这些模板继承的模板和项目尤为重要。

项目执行顺序在 *.sln 文件中定义为项目之间的一组依赖关系。如果 project1 依赖于 project2,则首先部署 project2。

当您从一个项目引用另一个项目时,VS 会自动检测 C# 项目的这些依赖项。不幸的是,像 TDS 这样的内容项目没有代码级引用,必须手动设置依赖项。

为此,请执行以下 Visual Studio 中的步骤:

  1. 在解决方案资源管理器
  2. 中右键单击解决方案
  3. 选择属性
  4. 导航到 项目依赖项
  5. 根据需要定义依赖关系

您的核心包应该放在第一位,接下来应该是包含模板、渲染、占位符设置等的开发包。您的内容包(包和数据)应该放在最后。

此问题的现成解决方案是使用 TDS 项目属性中的 "Multi-project Properties" 选项卡。

一般来说,您不应单独部署 TDS 项目。相反,您应该定义基本模板引用和包捆绑来定义哪个项目依赖于哪个项目。然后,您仅在通过 "Multi-project Properties".

定义的依赖关系层次结构的顶部构建和部署 project/package

您可以在官方 TDS 文档中阅读更多相关信息:

https://www.hhogdev.com/help/tds/propmulti