The Multi-Project properties page allow you to setup dependencies between projects within the same solution.

Base Template References

The Base Template Reference section can be used to tell a TDS project where it should look for base templates when generating code for templates in the current project:

Base Template References

For example, imagine there is the following project setup with templates T1 and T2. Template T2 inherits template T1 but they are in different Tprojects.

T4 Template content tree

When TDS performs code generation we want templates generated by the TdsDemo.Layouts project to be used by the TdsDemo.Templates project.

The generated class for TdsDemo.Layouts will look like this:

namespace TdsDemo.Layouts.sitecore.templates.TDS.Set1

    {

        public partial interface IT1

        {

            string F1 { get; set; }

        }

    }

 

And the generated classes for TdsDemo.Templates will be:

 

namespace TdsDemo.Templates.sitecore.templates.TDS.Set2

{

    public partial interface IT2 :   

                    global::TdsDemo.Layouts.sitecore.templates.TDS.Set1.IT1

    {

        string F2 { get; set; }

    }

}

Notice that the second code generated file references the classes generated by the first.

If the two generated files are in different projects then a reference to the project with the first generated file will need to be added to the second project.

The referencing project must know how to generate the namespaces required by the referenced project. For example if the referenced and referencing project use different methods of generating namespaces then the referencing project may not be able to find the classes in the referenced project.

Code Generation Reference File

Allows the user to specify multiple code generation reference files. These files are provide the same functionality as the Base Template References without the need to have the TDS project in the solution.

A Code Generation Reference file is created by right-clicking on the TDS project and selecting "Export Code Gen Reference File"

Package Bundling

The Package Bundling section can be used to tell TDS to pull in items from another project when creating an Update Package. When TDS builds the current project it will automatically add any items in the referenced projects to the update package.

Package Bundling

If the referencing and referenced project both contain the same item, the item in the referencing project is used.

Package bundling only works when the Update Package has been configured, see the Update Package section below.