Dynamics 365 Automated Release and Version Control Strategy

One of the biggest headaches in developing and extending Dynamics 365 (CRM) solutions is the difficulty in managing versions and releases.  Especially, if you have a large team and worse if they are spread across the world, managing parallel development becomes a nightmare and may require a dedicated release manager.  This month at Melbourne Dynamics 365 User Group, one of my favourite Dynamics 365 (CRM) technical specialists, Shane Carvalho, will be presenting the open source tools he has built to overcome this problem.  If you are a CIO, IT Manager managing Dynamics 365 (CRM) teams, a Dynamics 365 (CRM) developer or consultant, this is a must see presentation.

RSVP Today: https://www.meetup.com/MelD365UG/events/237519686/


Dynamics 365 (CRM) has a concept called Solutions to manage customisations.  Solutions can be exported and imported and includes multiple XML files which defines the cutomisations of components such as Entities, Web Resources, Plugins, and more.  When multiple developers and functional consultants working together to build features in parallel, managing changes and releasing completed features to SIT, UAT, and PROD environments is difficult due to the nature of the solutions system.  In larger teams, each team work on their local Dynamics 365 (CRM) instances and export the solution file and send it to the release manager.  Release manager then import the solution to a SIT environment where all solutions from different teams are managed.  Often this could lead to problems when teams working on same entities.

The issue here is the lack of centralised version control and automated release management mechanism.  If we are building a bespoke application, we would use Visual Studio Team Services or TFS for centralised management of source code and automated builds.  In Dynamics 365 (CRM), this is a cumbersome manual task, without appropriate DevOps tools and strategy in place.


There are commercial solutions such as XrmToolKit (formerly CRMSolutionManager).  One of the disadvantages of this product is that it uses proprietary file formats which seems to be zip files.  Due to the zip format, it is difficult for Visual Studio to compare the files.  While the product does a good job to overcome some problems and may be preferred by some customers, others would prefer more control over the solution and it’s components and also have budget constraints.

Shane’s open source solution utilises tools provided by Microsoft such as SolutionPakager for extracting and compressing solution files and gives the team full control over every component in a Dynamics 365 (CRM) solution.

Shane Carvalho:

Shane is an highly experienced Dynamics 365 (CRM) technical specialist and open source contributor with a passion for Application Lifecycle Management and Dynamics 365 (CRM).   With over 12 years of experience in areas such as Dynamics 365 (CRM), TFS, Visual Studio, SQL Server, SharePoint, ASP.NET and many other technologies he is one of the best developers I’ve had the pleasure to work with.


Don’t miss this month’s (March 2017) Melbourne Dynamics 365 User Group.  Shane Carvalho presents and shares the tools he has built to implement a Dynamics 365 (CRM) version control and release management strategy.

Thank you for visiting Dyn365Apps.com.

Follow me on Twitter to get the latest news, tips and tricks and more …

Until next time…

Dynamics 365 Automated Release and Version Control Strategy