TDS Classic How-To: Use the HedgehogDevelopment.TDS NuGet Package

March 15, 2017 | Kliment Klimentov

NuGet packages make things easier for the developers because they make the initial setup of the project easier. It’s simpler to manage a package than a bunch of third-party files and their locations or to install programs on every environment. NuGet packages also save time if the same package needs to be installed in many different projects. Moving through different version of the package is also easier, since the packages are automatically downloaded from the NuGet repository and installed into the project. Using NuGet packages also make possible to build 2 different TDS Classic projects, using two different versions of TDS Classic and makes installing TDS Classic on the build server unnecessary

The HedgehogDevelopment.TDS NuGet Package allows you to build TDS Classic projects, without the need of installed TDS Classic on the build server machine. The package contains all the components required to successfully build a TDS Classic Project.

You can find the HedgehogDevelopment.TDS NuGet Package in the archive, containing the TDS Classic installers, under the NuGetPackages folder. 

The NuGet package needs to be added to a local (or shared NuGet repository), which is nothing more than a folder, containing all NuGet packages which will be used by you, or your team. The NuGet repositories are managed from:
Tools -> Options -> NuGet Package Manager -> Package Sources.

The configuration is simple: In the Source textbox, paste the path to the folder, containing the NuGet Packages you are about to use and in the Name textbox enter a meaningful name for the new repository.

Use the Source textbox to paste the path to the folder and enter the name for the new repository 

The next step is to install the NuGet packages to the projects from: 
Right click on the Solution -> Manage NuGet Packages for Solution

The HedgehogDevelopment.TDS Classic NuGet Package needs to be installed in every TDS Classic Project in the solution. 

Install NuGet package on each TDS Classic project

After the installation process is finished, you'll be prompted to restart Visual Studio. After the restart, the changes are ready to be checked-in.

Restart Visual Studio after installing the NuGet Package for the first time

On the build server you need to configure a NuGet restore/installer step, which will extract the packages, included in the Solution. It's important for this step to be executed before the MS Build step, so the build components, required for successful TDS Classic project build, are available.

TDS Classic NuGet package

Related Blog Posts

TDS Classic Best Practices: NuGet Build Components and TDS Classic .user configs
There are certain systems and processes that you can put in place to make a TDS Classic project run more smoothly. We're highlighting the best practices that our team recommends for getting the most out of TDS Classic.
TDS Classic Best Practices: Bundle Packages, Delta Builds and Delta Packages
Following TDS Classic best practices, like using Delta Builds and Delta Packages, can make the entire development experience run much more smoothly.
TDS Classic Best Practices: Validators and the Sitecore Package Deployer
TDS Classic can be used in many ways, but the goal is always the same: make development (and developers lives) easier. Whether it's using the Sitecore Package Deployer or using validators, following best practices can make your entire experience run much more smoothly.
Troubleshoot and Prevent Failed TDS Classic Project Builds
When building an .update package with TDS Classic, the build might fail with no additional information. From increasing log verbosity to using validators, there are ways to minimize or prevent this type of error.
TDS Classic How-To: Disable Automatic Code Generation
Code Generation is automatically triggered after every change in the TDS Project tree. If a project contains many items, users can disable this feature for their convenience.
TDS Classic Sitecore Deploy Folder
Sitecore Deploy Folder is a setting, located in the build tab of the TDS Classic Project's Properties page, and used to tell TDS Classic where the webroot is located.<br>
TDS Classic Builds on Jenkins Build Server with NuGet Packages
Our simple scenario includes 2 developers using TDS Classic and checking-in changes to source control. The Jenkins build server takes the changes and performs the build, and then deploys the created package to two Sitecore environments.
Features to Improve Sitecore Development: TDS Classic Strikes Back
Each and every feature in TDS Classic is aimed at helping developers. Whether the feature is out front or running quietly in the background the goal is always the same: make the development experience better. &nbsp;&nbsp;
TDS Classic Features to Improve Sitecore Development
Each version of TDS Classic comes with the same goal: to make Sitecore development and, by extension, developers, lives easier. Every feature in our products is aimed at making the process better - some of these features aren't quite as well-known as others, but they all help smooth and improve the development experience.
Deployment Properties and the Deployment Property Manager
When working with TDS Classic, you will eventually need to deploy your items to a Sitecore instance and you might not want the default behavior of every item in your TDS project deploying every time. This is where the TDS Sitecore Deployment Property Manager comes in!
TDS Classic 5.6 Feature Spotlight - Prevent Deployment of Incorrect Assemblies
This feature, new to TDS Classic 5.6, will prevent a solution from deploying unless all assemblies (except the excluded assemblies we allow you to specify) match what exists in your webroot.&nbsp;
TDS 5.6 Feature Spotlight - Project Item Report
This feature, new to TDS Classic 5.6, allows you to create a report of all items in the TDS Classic project.&nbsp;