从头开始部署具有多个 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 中的步骤:
- 在解决方案资源管理器
中右键单击解决方案
- 选择属性
- 导航到 项目依赖项
- 根据需要定义依赖关系
您的核心包应该放在第一位,接下来应该是包含模板、渲染、占位符设置等的开发包。您的内容包(包和数据)应该放在最后。
此问题的现成解决方案是使用 TDS 项目属性中的 "Multi-project Properties" 选项卡。
一般来说,您不应单独部署 TDS 项目。相反,您应该定义基本模板引用和包捆绑来定义哪个项目依赖于哪个项目。然后,您仅在通过 "Multi-project Properties".
定义的依赖关系层次结构的顶部构建和部署 project/package
您可以在官方 TDS 文档中阅读更多相关信息:
如果从头开始部署完整解决方案,则会出现各种错误。如果我以正确的顺序一个一个地部署我的 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 中的步骤:
- 在解决方案资源管理器 中右键单击解决方案
- 选择属性
- 导航到 项目依赖项
- 根据需要定义依赖关系
您的核心包应该放在第一位,接下来应该是包含模板、渲染、占位符设置等的开发包。您的内容包(包和数据)应该放在最后。
此问题的现成解决方案是使用 TDS 项目属性中的 "Multi-project Properties" 选项卡。
一般来说,您不应单独部署 TDS 项目。相反,您应该定义基本模板引用和包捆绑来定义哪个项目依赖于哪个项目。然后,您仅在通过 "Multi-project Properties".
定义的依赖关系层次结构的顶部构建和部署 project/package您可以在官方 TDS 文档中阅读更多相关信息: