Early-bound Template-based Code Generator


An XrmToolBox plugin that can be used to generate Early-bound code from a CRM Schema using a customisable T4 Template.

+ Preserved the original CrmSvcUtil structure and logic.
+ Customize the way the code is generated.
-- You get a default T4 template for the code that is generated, with a multitude more features than the official tool (features below).
-- You can rewrite the whole template if you wish for any possible requirements.
+ Replaced the SDK types with .NET types.
+ Generate only what's needed
-- Only choose the entities required.
-- Only the fields required.
+ Additional control
-- Option to use display names of entities and fields as variable names instead of logical names.
-- Override field names inside the tool's UI.
-- Ability to Lock variable names to avoid code errors on regeneration.
+ Support for strongly-typed alternate keys, for entities and Entity References.
+ Add annotations for model validation.
+ Generate metadata.
-- Field logical and schema names.
-- Localised labels.
+ Automatically limit attributes retrieved from CRM on any entity in a LINQ to the ones choosen (filtered) in the tool (check new entity constructors).
+ Many options to optimise generated code size even further.
+ Generate concrete classes for CRM Actions.
+ Support bulk relation loading.
-- Support filtering on relation loading.

Latest version release notes

Improved: save values sorted to improve source control difference detection.
Update: upgraded to the newest YS Library.
Added: [template] unify global option-sets (thanks https://github.com/ClemensWon)
Updated: libraries to more recent versions
Fixed: Use Display Names option not saved correctly
Fixed: [template] ActivityParty naming issue (thanks https://github.com/ClemensWon)
Fixed: [template] multiselect option-sets mapping to global option-sets (thanks https://github.com/ClemensWon)
Fixed: [template] consider the 'use display names' setting for global option-sets
Improved: filtering feature now works over logical and display names, and renames
Updated: latest custom libraries
Fixed: template issues
Fixed: mishandling errors
Added: Filter Details window row filtering
Fixed: generated code 'labels' syntax error
Added: recent settings list (load history)
Added: reset option for the template text
Added: toast notification for clearer status
Improved: load and save logic
Fixed: fixed cancel button
Fixed: issues
Added: all missing features from VS extension (click on 'Quick Guide' for more info), except Contracts
Added: keep track of paths (settings, template, and code) used in previous sessions and the links between them
Fixed: layout issues
Fixed: assembly issues
Changed: updated package name
Initial release


Version Release date Number of downloads Rating 7/27/2023 8:54:28 AM 5395 0.00 7/25/2023 7:37:30 PM 34 0.00 7/9/2023 2:09:37 AM 1424 0.00 5/29/2023 11:07:11 AM 1961 0.00 12/14/2021 11:30:54 PM 13677 0.00 4/30/2021 1:21:16 PM 11651 0.00 10/4/2020 5:57:00 PM 5666 5.00 9/30/2020 10:33:24 PM 1307 0.00 9/28/2020 8:24:04 PM 1272 0.00 9/25/2020 10:32:27 PM 1265 0.00 8/27/2020 9:39:38 PM 2065 0.00 8/27/2020 3:59:27 PM 0 0.00 8/25/2020 4:28:07 AM 12 0.00 8/24/2020 9:53:55 AM 17 0.00


Latest version

No feedback yet. Add yours

Other versions

(Mohammed El Sayed, )

Related information

Author: Ahmed Elsawalhy Latest version: Released on: 07/27/2023 Nuget package Id: Template-based-CRM-Code-Generator-Plugin Open Source: true Go to project web site Ratings (all versions) 5Average rating 1Number of ratings Downloads 5395Latest version 45746All versions 3267.57Average per version