March 06, 2017 | Joe Hicks
How many times have you run into a solution that included a new project, one that relied on an assembly that didn’t match what your site was running?
In the case of Sitecore assemblies or latest Nuget packages, maybe someone on the team added a project with a different Newtonsoft dll than you were expecting. Or even worse, added a reference to an assembly that is sitting somewhere on their file system that doesn’t match the version on your site.
This feature, which is new in TDS 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. If the assembly does not exist there at all it can be deployed, but what we are doing here is making sure our core assemblies aren’t being changed without us knowing.
All you have to do is check the Enable Assembly Validation checkbox under the Environment Validation tab in your TDS project settings and you are good to go. You can add in a comma separated list of any assemblies you want to ignore in the box underneath.
What I have done here is include a reference to an older version of Sitecore.Kernel.dll in my project and have attempted to deploy the code.
As you can see it has caused a build error and made us aware that the target assembly does not match the assembly we are trying to deploy. Basically, TDS checked the version of every assembly before deploying and because the assembly version was different than the assembly in the Sitecore instance, the build failed before deploying any files.
There are several new features in TDS Classic 5.6 that are geared toward improving developer productivity. Check out the posts on Quick Push and Project Item Report, or just skip to the best part and download TDS Classic 5.6 today.