Xrm Tools 1.4.4+: Easier Updates, Less Hassle

Xrm Tools 1.4.4+ makes keeping your projects up to date easier than ever. Visual Studio now notifies you when the XrmTools.Meta.Attributes NuGet package is out of date, and new utility methods simplify writing plugin code.

Xrm Tools 1.4.4+: Easier Updates, Less Hassle

Keeping Xrm Tools up to date has never been simpler. With version 1.4.4+, both the extension and its companion XrmTools.Meta.Attributes NuGet package are easier to keep in sync — saving you time and reducing headaches.

Visual Studio already makes updating extensions easy. Whenever a new version of Xrm Tools is available, you’ll see a small notification. By clicking on the notification you can update the extension.

In the Extension Manager, click the ⚙️ (settings) icon and select Install updates automatically to let Visual Studio handle it for you.

Previously, you had to open NuGet Package Manager every time you worked on a plugin project just to check whether the XrmTools.Meta.Attributes package was up to date. That’s no longer the case.

Starting with 1.4.4+, Visual Studio will notify you whenever there’s a new version of XrmTools.Meta.Attributes available. You’ll see exactly which projects are out of date.

Click the Update… link, and it takes you straight to NuGet Package Manager where you can update with a single click.

New Utility Methods

This release also generates new utility methods in your plugins to make writing dependency properties simpler.

Before, you had to write them like this:

[Dependency]
ILogger Logger { get => DependencyScope<MyPlugin>.Current.Require<ILogger>(); }

Now you can write them more cleanly:

[Dependency]
ILogger Logger { get => Require<ILogger>(); }

There are three new utility methods that you will find in the code-behind of your plugins, when you save them in the new version:

bool TryGet<T>(out T instance)
T Require<T>()
T Set<T>(T instance)
T SetAndTrack<T>(T instance) where T : IDisposable

This release is all about making updates seamless so you can focus on building great plugins.

You can read more in the full change log. Don't forget to give the repository a start once you are there!