What's New in v7.

Custom Naming Service - Documentation

XrmToolkit makes it easy for you to create and use your own custom 'INamingService' for generating proxy classes.

Whether you use the 'CrmSvcUtil' or 'XrmToolkit' generation methods, you can choose to use your own 'INamingService' to either completely change or slightly tweak the way that XrmToolkit generates the names for your classes and properties.

You can choose to reference a project in the current solution or an external dll that contains your implementation of the 'INamingService'.

Improved LINQ query provider that can be deployed to all D365 instances (Online or On-premise)

XrmToolkit v4 came with the release of a new LINQ query provider that contained some great improvements over the query provider included in the SDK. Unforunately it also came with the limitation of only being able to run outside of the Sandbox, which meant that it could only be used in custom applications or D365 on premise. We're happy to announce that with v7, the LINQ query provider has been completely overhauled to allow being deployed to the D365 Sandbox. It also includes many more improvements such as:

Support for Canvas Apps (Preview)

This feature relies on the PowerApps-Language-Tooling which is still "experimental" according to their documention. See the project page for more details.

You can now download and extract your Canvas App directly into your Visual Studio solution allowing you to put all the assets under source control. You can also re-pack and publish any changes that were made to any of the assets.

Support for Dynamics 365 Portals

Editing your portal assets has never been easier! You can now download them to a Visual Studio project just like web resources or other Dynamics 365 assets. Simply create a 'New Project from Portal Website', and then select which assets you want to download. All the actions similar to web resources are availabe, ie 'Compare to deployed in D365', 'Download from D365', 'Publish to D365', ability to minify/prettify when publishing/downloading from D365.

Support for all D365 authentication scenarios

The connection dialog and underlying logic has been re-written to support all of the current authentication methods for D365.

Support for Power Automate Flows

You can download, edit and publish the .json associated with a Power Automate Flow.

Support for Web Hooks

The plugin registration window now supports registering endpoints for web hooks as well as registering steps for them. You can also register multiple steps at once for web hooks similar to registering multiple steps for plugins.

New D365 Tools Window

The D365 Tools window is YOUR home for all the tools that help you perform tasks related to your D365 instance. The 'Plugin Registration' and 'Bulk Edit Security' controls have moved to this window with more to come based on YOUR FEEDBACK. Since this is a 'Tool Window', it can be docked/undocked just like any other tool window in Visual Studio.

If you have existing tools or applications that you think could benefit from being integrated into XrmToolkit, please register a new suggestion or vote for an existing one here.

Support for shared projects and SDK style projects

Visual Studio Shared projects and SDK style projects are now supported starting in v7. The default project templates have been updated to the SDK style format.

Proxy Generation Enhancements

Besides the new ability to apply your own custom naming service, there are several enhancements to the proxy class generation process including:

Microsoft SDK References added as NuGet packages

Previously, XrmToolkit added the Microsoft SDK references to your project as local assembly references. The appropriate major version of the SDK (based on your Organization version) is now added as a NuGet reference:

XrmToolkit NuGet Packages

NuGet is the defacto way of adding 3rd party references to your Visual Studio project. The following 2 XrmToolkit packages are now available on NuGet:

Each package has a version specific to the version of the SDK that you use. For example, if you are using v7 of the Microsoft SDK then you should use v7.x of the XrmToolkit.X package.

Custom Naming Template For Plugin Steps

You can now provide your own template that will be used when automatically generating the name of a plugin step. When you register a single step, the 'Name' of the step is generated from this template, but you still have the ability to modify the name before final registration. Where you really see the benefit is when you use the 'Register Multiple Steps' dialog where each step will automatically follow the naming template.

You can define this template at the project or solution level. The window includes a collapsable area that displays all of the possible data slugs that can be used in the template:

Enhancements to the Plugin Assembly Config editor

You can now easily see what differences exists between what is deployed to D365 and what is saved in the plugin assembly config file. Depending on the type of differece, you can register, update or un-register by selecting the appropriate row and finding the corresponding button.

When double-clicking on a row that contains differences, a window opens hilighting the differences by placing a blue border around the differences as seen here:

Misc Changes

Breaking Changes