SPClientSideDeployment now supports deploying assemblies to GAC (On-Prem only)

While these days server-side solution looks as if it’s going out of fashion, the fact is quite a number of people are still dependent on them for various reasons. Back in the days when server-side solution was the only (practical) option, CKSDev was one of my must-have dev tools for its ability to quickly deploy assemblies to GAC and files to the Layouts folder.

CKSDev however does not work with Visual Studio 2015, and it appears the original author is no longer working on it. While there are a few posts on the web with hacks for installing it on VS 2015, some of the commands that I regularly use resulted in exceptions and did not work correctly.

Deploy assemblies to GAC with SPClientSideDeployment

The ability to quickly deploy assemblies to GAC has now been added to SPClientSideDeployment 3.2 (supported for On-Prem only). I know this is not really “client-side deployment”, and it pains me a bit, but at the end of the day what’s important is the productivity gain for developers.

What does it do?

In short, it builds the project(s), GACs the relevant output assemblies and recycle the IIS app pool of the target project.

Which assemblies will be GACed?

This command is enabled on both SharePoint and non-SharePoint projects, and the assemblies that are GACed depends on the type of the target project.

If the target is a SharePoint project, the following assemblies will be GACed:

  • The main output assembly of the target project
  • Other assemblies that are included in the SharePoint Package.package file with the Deployment Target set to Global Assembly Cache

With the Package definition below for example, the Model, ServiceLibrary and SharePointSolution1 (target project) assemblies would be GACed.

1 Package

If the target project is a non-SharePoint project, only its main output assembly would be GACed.

Which IIS app pool is recycled?

Again this depends on the type of the target project. For SharePoint projects, the command uses the OOTB Site URL project property to locate the app pool that should be recycled.

For non-SharePoint projects, the command uses the SharePoint URL project property that is added by this extension.

OK.. so how do I trigger the command?

You can trigger the command in the following ways:

  • Right-click on the code editor of a C# or VB code file and choose Deploy to GAC (SharePoint). The keyboard shortcut key for this is Alt + Q, W. This will execute the command against the active code file’s project.2 Code Editor
     
  • Right-click on a project and choose Deploy Assemblies to GAC (under the SharePoint group).3 Project 
  • From the Tools menu, choose SharePoint Deployment, then Deploy Assemblies to GAC. This executes the command against the solution’s start-up project. The keyboard shortcut key for this is Alt + Q, E.4 Tool Menu

Download it now!

You can download the latest version of SPClientSideDeployment from the Visual Studio Gallery.

What’s next on the roadmap?

Next on my to-do list is to add other productivity features that were found in CKSDev, including:

  • Deploy files to Layouts folder
  • Attach to IIS

I hope you find this new addition useful, and as always, I’d love to hear from you with feedback and suggestion.

 

Advertisements

About Bernado

Based in Australia, I am a freelance SharePoint and Dynamics CRM developer. I love developing innovative solutions that address business and everyday problems. Feel free to contact me if you think I can help you with your SharePoint or CRM implementation.
This entry was posted in SharePoint, SharePoint 2013, SPClientSideDeployment. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s