Plugin Project Features.

Options for an un-linked project

The following context menu is displayed when right-clicking on the project node of a class library code project that has not yet been linked to a CRM organization:

  1. Add Proxy Classes to Project - Opens a window allowing you to generate multiple early bound classes at once.
  2. Link Items to CRM - See the Common Project Level Actions documentation for more details.
  3. Add New Plugin Or Workflow - Displays a dialog to walk you through creating a plugin that also creates the plugin configuration for registering the plugin once completed.
  4. Add Plugin Assembly to CRM - Shows a dialog window that allows you to register the assembly in CRM and optionally specify whether to use ILMerge to merge referenced assemblies.
  5. Switch to a different CRM Organization - Allows you to switch to another already linked organization.

Add Plugin Assembly to CRM

By pressing the 'Add Plugin Assembly to CRM' button a window will appear with options for uploading the assembly to CRM.

Note:
If an assembly already exists in CRM with the same name then you will be notified that the assembly will automatically be linked and publishing the assembly to CRM will updated the linked assembly:


  1. Read-only name of the assembly. This comes from the project settings in Visual Studio.
  2. Description of the assembly in CRM.
  3. Version of the assembly determined by the project settings in Visual Studio.
  4. Timestamps for both the created-on and modified-on for the assembly in CRM.
  5. Determines the isolation level for the plugin assembly to run in CRM. For CRM online the 'Sandbox' is the only option allowed.
  6. Tells CRM where the plugin will be physically located. The default is to register the plugin assembly to the CRM database.
  7. You can choose to automatically merge the assembly using ILMerge every time you 'Build and Publish' to CRM. You will first need to download and install ILMerge to be able to use this feature. You can download ILMerge from here.

    For more information regarding the use of ILMerge with XrmToolkit please see the documentation here.

Options for a linked project

The following context menu is displayed when right-clicking on the project node of a class library code project that has already been linked to a CRM organization:

  1. Build and Publish - Builds the plugin assembly and publishes the DLL to CRM. If ILMerge is selected then the ILMerge process will be injected and the merged DLL will be uploaded to CRM. You can optionally specify MSBUILD actions during the build process. To learn more about using MSBUILD with XrmToolkit please see the documentation here.
  2. Add Proxy Classes to Project - Opens a window allowing you to generate multiple proxy or early bound classes at once.
  3. Link Items to CRM - See the Common Project Level Actions documentation for more details.
  4. Add New Plugin Or Workflow - Displays a dialog to walk you through creating a plugin that also creates the plugin configuration for registering the plugin once completed.
  5. Edit Project - Opens a window allowing you to change the different properties regarding the plugin assembly and registration.
  6. Edit Plugins and Steps - Opens a dialog displaying only the current assembly in the Plugin Registration Tool. For more info see the Edit Plugins and Steps documentation.
  7. Download files from CRM - See the documentation here.
  8. Update all linked items in CRM - See the documentation here.
  9. Update and publish all linked items in CRM - See the documentation here.
  10. Allows you to switch to another CRM organization already linked to the Visual Studio solution.
  11. Remove Project Link - See the documentation here.