Upload Assembly 2.0 Add-In for Visual Studio

This tool is a Visual Studio Add-In which allows the developers to upload their dll(s) into Tridion in a simple manner. The new version gives you the option to upload the dll(s) to different Servers, for instance: Development, Stating, Production, etc�

When using the tool to upload the project to several targets please read the �Best Practices� section below in this document.

The Add-In will give the user two options when clicking over the �Tools� menu within the Visusal Studio IDE: 


An appropriate Templating project needs to be available prior to use this Tool. These two options are:

1.      SDL Tridion � Upload Assembly settings� (To configure the behaviour of the Add-In)

2.      SDL Tridion � Upload .Net Assemblies (To perform the Upload of the selected libraries) 

SDL Tridion � Upload Assemblies settings�

When selecting this option the user is prompted with the following dialog:


TCM Upload Assembly Configuration Section:


Executable (*Mandatory): Upload tool location:TcmUploadAssembly.exe
determines whether the tool shows verbose info or not
Upload PDB: determines whether the pdb file associated to the dll is uploaded or not (when debugging, it is necessary to upload the pdb file)

Servers Section  


In this section the list of servers to upload the .Net assemblies to, is configured:

Adding/Deleting a Sever  

1.      The addition of Servers can be done by clicking over "+".  

2.      The deletion of Servers can be done by clicking over "-" . 

Note: To delete a server the check box on the left of the server name, needs to be checked.

When Adding a Server, the following dialog is displayed:


Description (*Mandatory): Name to identify the server by. Has no relation with the actual name of the server.
CMS(*Mandatory): URL to access the CMS,
User(Optional): User name to access the CMS
Password(Optional): Password to access the CMS

Note: If no user/password is defined the current credentials are used.

Current Projects Functionality

The following table displays the projects available in the current Solution. Also, the configuration to be used by the Add-In. i.e: Upload Enabled/Disabled


Checkbox: enables/disables project dll upload. If checked the specified project dll will be uploaded
Last Update: Last time the dll was updated.

Project: Name of the project
DLL: Location of the dll for the specified project

The DLL location for each project in the table is set by the tool. The tool searches for every DLL within the project root folder with the name specified in the project properties page within Visual Studio, this is, imagine we have a project called MyTemplates in C:\MyProyects and the DLL name we have configured to be created (when building the project) is MyTemplates.dll. The tool will search in C:\MyProjects for every DLL in the folder and its children with the name: MyTemplates.dll. If it finds more than one, it will set the latest one.

If no DDL is found, �NOT FOUND� is displayed in the cell. In this case, or just if the develolper wants to associate another DLL to the project, and the DLL is located in another folder, this value can be configured (overridden) manually by double clicking over the current �Project� cell:

If we want to go back to the default dll, we can click in the cell containing the dll path, remove the content and then press enter. The tool will set the last updated dll found within the Project folder again.

Settings File Label

The settings file label shows the location of the configuration file for the current solution:


This file contains all the settings for the current solution and can be modified manually with a text editor as well. By default its location is under the root folder of the current solution.

Form Actions

From the form we have several options:


Reset Form:Resets the form to the last saved status. It means that if we change something in the form and we have made a mistake and we want to go back to it previous configuration, we just need to click over �Reset Form� and it will load the configuration from the file again.

Reload Project List: It allows to add/delete new/old projects to the list within the form. Imagine we add a new project to our solution and we want the project to be available in our configuration settings. We just have to click over �Reload Project List� and it will synchronize the settings with the Visual Studio solution tree:

As shown in the above picture below, the DLL location is �NOT FOUND�. This is because we haven�t generated the DLL yet. After we compile the project and we create a DLL, the next time we open the form, this cell will be updated.


When a project is deleted from the Visual Studio Solution, the reload option will synchronize the settings as well.

Save:saves the current configuration. It is recommended to save the configuration after performing changes in the DLL location and the fields in the form (Auto-Save is performed when changing the form, though).

Upload:performs the upload of the assemblies based in the current settings. Al the logs and information about of the status of the upload is displayed in the output window within Visual Studio.

SDL Tridion � Upload .Net Assemblies

This option allows to upload the assemblies based in the current settings. Al the logs and information about of the status of the upload is displayed in the output window within Visual Studio. This is the same functionality we can find in the upload button within the settings form.

Output Screenshot


Best Practices

In order for the Add-In to upload the DLL to the CMS, it�s necessary to define the target folder (where the TBB will be created). The way the tool works is by looking at the Configuration property in the file AssemblyInfo.cs within the Project:

The information we can find in that file (At the bottom) is:


It is recommended (since now the tool will upload the DLL to serveral environments) to use the webdav URL of the Folder instead of the tcm URI. The best practice would be: 15
Note: if such information is not present, it needs to be added (TcmTargetFolder, TcmTemplateTitle)



When downloading the Add-In on Windows 7, for security reasons, the O.S. sets the DLL as Blocked, so you'll get an error when installing it. To fix this problem we just need to unblock the Add-In DLL as shown in the following screenshot:

Adding troubleshoot


License agreement
:    Modular Templating,  Visual Studio
:   2.0
:   No

About the Author
Jaime Santos Alcon
Technical Consultant

Originally from Madrid, Jaime is working from SDL Tridion's office in New York, US. He started as a Java developer and moved into the Web Content Management space. Has been working with Tridion's CMS for the past 6 years.

SDL CMT division