Tool Library is the location where users can discover and manage the tools they want in XrmToolBox.

Once you have developed your own tool, you would like to distribute it to XrmToolBox users. To do so, you need to create a Nuget Package, then register this package in XrmToolBox portal.

First, please review this checklist to ensure your tool is ready to be validated

Create a Nuget package

There is many way to create a Nuget package (manually, through a VS build, etc.). In this page, we will demonstrate the use of a Nuget application : Nuget Package Explorer

Run this application and switch to Edit mode

General information

All these information are required, so that it displays correctly in Plugins Store

Id : The id of the package. This is generally the name of your tool assembly

Version : The version of the package. 

Title : The name of your tool

Authors : Your name

Icon Url : The icon to display in the Tool Library

Project Url : The url of the open source project. If your tool is not open sourced, provide an url that points to a blog article or a dedicated page for this tool.

Summary/Description : A description about your tool

Release Notes : Description of the latest changes. Please fill correctly this part to inform your users about the changes

Tags : Some tags to retrieve your tools. Please add the term "XrmToolBox" 

Dependencies

To detect compatibility with the current version of XrmToolBox, Tool Library reads the dependencies defined in the Nuget package.

Even if you add the Nuget package XrmToolBoxPackage to develop your tool, this is not the dependency that is expected in your tool Nuget package.

The dependency expected is "XrmToolBox" with the minimum version you are targeting.

Package content

On the right part of the tool, you can define the package content. This is where you will add your tool assembly.

Package Sample

<package>
  <metadata>
    <id>Contoso.Xrm.SweetestPlugin</id>
    <version>1.2018.1.1</version>
    <title>The Sweetest Plugin for XrmToolBox</title>
    <authors>Jane and John Doe</authors>
    <owners>Contoso</owners>
    <projectUrl>https://github.com/Contoso/SweetestPlugin</projectUrl>
    <iconUrl>http://contoso.com/sweetest.png</iconUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Really sweet plugin that does awesome things</description>
    <summary>Really sweet plugin that does awesome things</summary>
    <releaseNotes>
       With this your life will be a whole lot sweeter.

       1.2016.4.123: New life-enhancer functionality.
       1.2016.3.112: New fantastic button.
    </releaseNotes>
    <copyright>Copyright 2016 Contoso Enterprises</copyright>
    <tags>XrmToolBox Plugins SweetestPlugin</tags>
    <dependencies>
      <dependency id="XrmToolBox" version="1.2018.1.20" />
    </dependencies>
  </metadata>
  <files>
    <file src="SweetestPlugin\bin\Release\Contoso.*.dll" target="lib\net452\Plugins" />
    <file src="SweetestPlugin\bin\Release\ExtraFiles\AnotherFile.dll" target="lib\net452\Plugins\Extra" />
    <file src="SweetestPlugin\bin\Release\ExtraFiles\VeryImportantFile.txt" target="lib\net452\Plugins\Extra" />
  </files>
</package>

Publish your Nuget package

Once your package is created, you need to publish it on Nuget website. You will need an account first, so create one if you don't have it already.

When using Nuget Package Explorer, the easiest way to publish your package is to... publish it. For this, use the menu File > Publish.

Register your tool on XrmToolBox portal

Once your Nuget package is published and indexed (don't miss on this one, it may takes some times to perform indexation), you can register your tool on this page

Just provide your Nuget package Id and the portal will parse package information to register the tool.

Your tool then needs to be reviewed and validated by an administrator. This can take few days.