DynamicsCrm.DevKit - Visual Studio Marketplace Documentation
Version 4.x - A comprehensive development toolkit for Microsoft Dynamics 365 / Power Platform / Dataverse
Description
DynamicsCrm.DevKit is a powerful Visual Studio extension designed to accelerate and streamline development for Microsoft Dynamics 365, Power Platform, and Dataverse. It provides a complete suite of project templates, item templates, code generators, and CLI tools to help developers build high-quality plugins, workflows, custom APIs, web resources, and more.
Key Highlights:
- 🚀 12 Project Templates for rapid solution scaffolding
- 📝 13 Item Templates for quick file creation
- 🔍 20 Roslyn Analyzers following Microsoft best practices
- ⚡ CLI Tool for automated deployment and code generation
- 🎯 IntelliSense Support for JavaScript/TypeScript form development
Features
📦 Project Templates (12 Templates)
Create complete project structures with best practices built-in:
| # |
Template |
Description |
| 01 |
Shared Project |
Common shared code library - required foundation project |
| 02 |
Console Project |
.NET Framework console applications for data migration, utilities |
| 03 |
Console Core Project |
.NET Core console applications for cross-platform support (NEW in v4) |
| 04 |
Server Project |
Consolidated server-side components (Plugins, Workflows, Custom Actions, Custom APIs, Data Providers) |
| 05 |
Package Project |
Solution package deployment project |
| 06 |
WebResource Project |
Web resources (JavaScript, CSS, HTML, images) with IntelliSense |
| 07 |
Shared Test Project |
Shared test utilities and helpers |
| 08 |
ProxyTypes Project |
Early-bound entity classes generation |
| 09 |
Test Project |
Unit testing project with FakeXrmEasy support |
| 10 |
UI Test Project |
UI automation testing with EasyRepro framework |
| 11 |
Solution Packager Project |
Solution unpacking/packing for source control |
| 12 |
Report Project |
SSRS reports development |
📄 Item Templates (13 Templates)
Quickly add new items to your projects:
| # |
Template |
Description |
| 01 |
C# Late Bound Class |
Generate late-bound helper classes with entity constants |
| 02 |
JavaScript Form |
Form scripts with full IntelliSense for fields, tabs, sections, controls |
| 03 |
JavaScript WebApi |
WebAPI client with type definitions for CRUD operations |
| 04 |
C# Plugin Class |
Plugin development with [CrmPluginRegistration] attribute |
| 05 |
C# Custom Action Class |
Custom Action development with input/output parameters |
| 06 |
C# Custom Api Class |
Custom API development for Power Platform |
| 07 |
C# Workflow Class |
Workflow activity development with input/output parameters |
| 08 |
C# Data Provider Class |
Virtual entity data provider implementations |
| 09 |
C# Test Class |
Unit test classes for plugins and workflows |
| 10 |
C# UI Test Class |
UI test classes using EasyRepro |
| 11 |
Resource String |
Localization resources (.resx) |
| 12 |
JavaScript devkit.js |
DevKit JavaScript library for common operations |
| 13 |
Bat File |
Batch file templates for CLI automation (NEW in v4) |
🔍 Roslyn Analyzers (20 Rules)
Built-in code analysis following Microsoft Power Platform Best Practices:
| Rule ID |
Severity |
Description |
| DEVKIT1001 |
❌ Error / ⚠️ Warning |
Filtering attributes for Create/Update messages |
| DEVKIT1002 |
⚠️ Warning |
Don't use ColumnSet(true) - retrieve only needed columns |
| DEVKIT1003 |
❌ Error |
Plugin image validation - correct pre/post image usage |
| DEVKIT1004 |
ℹ️ Info |
Deprecated SDK messages detection |
| DEVKIT1005 |
⚠️ Warning |
EntityReference null checks |
| DEVKIT1006 |
⚠️ Warning |
Batch requests in plugins - performance optimization |
| DEVKIT1007 |
❌ Error |
Stateless IPlugin - thread-safety enforcement |
| DEVKIT1008 |
❌ Error |
Parallel execution in plugins - sandbox limitations |
| DEVKIT1009 |
⚠️ Warning |
Set KeepAlive to false for HTTP connections |
| DEVKIT1010 |
⚠️ Warning |
Set HTTP Timeout appropriately |
| DEVKIT1011 |
⚠️ Warning |
Use InvalidPluginExecutionException for user-friendly errors |
| DEVKIT1012 |
ℹ️ Info |
Consider using ITracingService for debugging |
| DEVKIT1013 |
ℹ️ Info |
Avoid Retrieve/RetrieveMultiple plugin registrations |
| DEVKIT1014 |
❌ Error |
Avoid AppDomain events in sandbox |
| DEVKIT1015 |
ℹ️ Info |
Avoid blocking async patterns (.Result, .Wait()) |
| DEVKIT1016 |
ℹ️ Info |
Avoid RetrieveAsIfPublished for metadata |
| DEVKIT1017 |
ℹ️ Info |
Avoid Console output in plugins |
| DEVKIT1018 |
❌ Error |
Avoid File/IO operations in sandbox |
| DEVKIT1019 |
⚠️ Warning |
Check context.Depth to prevent infinite loops |
| DEVKIT1020 |
❌ Error |
DataProvider must have DataSource |
⚡ DynamicsCrm.DevKit.Cli
Powerful command-line interface for automated deployment and code generation:
Deployment Modes:
| Type |
Description |
servers |
Deploy plugins, workflows, custom actions, custom APIs, data providers |
webresources |
Deploy web resources (JS, CSS, HTML, images) with dependency management |
solutionpackagers |
Extract/Pack solutions for source control |
generators |
Generate late-bound classes, JavaScript form scripts, WebAPI clients |
proxytypes |
Generate early-bound entity classes |
downloadwebresources |
Download web resources from CRM to local project |
downloadreports |
Download SSRS reports from CRM |
uploadreports |
Upload SSRS reports to CRM |
datasources |
Deploy virtual entity data sources |
Example Commands:
# Fast deploy plugins using SDK login dialog
DynamicsCrm.DevKit.Cli.exe /sdklogin:"yes" /json:"..\DynamicsCrm.DevKit.Cli.json" /type:"servers" /profile:"DEBUG" /onlyupdateassembly:"yes"
# Deploy web resources using ClientSecret authentication
DynamicsCrm.DevKit.Cli.exe /conn:"AuthType=ClientSecret;Url=https://org.crm.dynamics.com;ClientId=xxx;ClientSecret=xxx;" /json:"..\DynamicsCrm.DevKit.Cli.json" /type:"webresources" /profile:"DEBUG"
# Generate JavaScript form files
DynamicsCrm.DevKit.Cli.exe /sdklogin:"yes" /json:"..\DynamicsCrm.DevKit.Cli.json" /type:"generators" /profile:"JS-FORM"
🎯 Visual Studio Integration
Integrated Features:
- 📤 Deploy WebResources directly from Visual Studio Solution Explorer
- 📊 Deploy Reports directly from Visual Studio
- 🔗 Connection Manager for multiple CRM environments
- 💡 IntelliSense for JavaScript form development with field names, controls, tabs, sections
🚀 Key Features in Action
These videos were recorded from previous version, but we have since released version 4.x with improved output.
Deploy Server Projects (Plugins, Workflows, Custom Actions, Custom APIs, Data Providers)
Deploy all server-side components with just 1 click!

Full IntelliSense support for Dynamics 365 form fields, tabs, sections, and controls in JavaScript/TypeScript.

Deploy WebResources from Visual Studio
Deploy JavaScript, CSS, HTML, and image files directly from Solution Explorer.

Deploy Reports from Visual Studio
Deploy SSRS reports directly from Visual Studio with automatic upload to Dynamics 365.

Installation
Requirements
- Visual Studio 2022 (v17.0+) or Visual Studio 2026 (v18.0+)
- Community, Professional, or Enterprise editions
- Supports both AMD64 and ARM64 architectures
- .NET Framework 4.5 or higher
- .NET Core SDK (for Console Core projects)
Install from Visual Studio Marketplace
- Open Visual Studio
- Go to Extensions > Manage Extensions
- Search for "DynamicsCrm.DevKit"
- Click Download and restart Visual Studio
Or download directly from: Visual Studio Marketplace
Getting Started
Step 1: Create a New Solution
- Create a blank solution:
[ProjectName].sln
- Add Shared Project (required):
[ProjectName].Shared
Step 2: Add Server-Side Projects
- Add Server Project for plugins, workflows, custom actions, custom APIs
- Configure
DynamicsCrm.DevKit.Cli.json for deployment
Step 3: Add Client-Side Projects
- Add WebResource Project for JavaScript, CSS, HTML
- Use JavaScript Form item template for form-level scripts with IntelliSense
Step 4: Add Testing Projects
- Add Test Project for unit testing with FakeXrmEasy
- Add UI Test Project for UI automation with EasyRepro
Tutorials
Complete step-by-step tutorials for common scenarios:
What's New in v4
🆕 New Features
- ✅ Console Core Project Template - .NET Core support for cross-platform development
- ✅ Bat File Item Template - Batch scripts for CLI automation
- ✅ 18 Roslyn Analyzers - Built-in code analysis for best practices
- ✅ Visual Studio 2026 / Preview Support - Supports VS 17.0 to 19.x
- ✅ ARM64 Architecture Support - Native support for ARM-based Windows
🔄 Improvements
- ✅ Modern SDK project format
- ✅ Improved async/await patterns
- ✅ Enhanced TypeScript definitions
- ✅ Better IntelliSense support
- ✅ Updated to latest Dynamics 365 SDK versions
- ✅ Improved error handling and debugging experience
🔀 Migration from v3
- Plugin, Workflow, Custom Action, Custom Api, Data Provider projects consolidated into Server Project
- Console Shared Project renamed to Console Project
- Template numbering reorganized for clarity
- Target frameworks: .NET Framework 4.6.2, 4.8, and .NET Standard 2.0
Configuration Files
DynamicsCrm.DevKit.json
Project-level configuration for connection settings and preferences.
DynamicsCrm.DevKit.Cli.json
CLI configuration for deployment profiles:
{
"servers": [...],
"webresources": [...],
"generators": [...],
"solutionpackagers": [...],
"proxytypes": [...],
"datasources": [...],
"downloadwebresources": [...],
"downloadreports": [...],
"uploadreports": [...]
}
See DynamicsCrm.DevKit.Cli.json Documentation for detailed configuration options.
Resources
Dynamics, Dynamics 365, Dynamics CRM, Power Platform, Dataverse, CDS, Tool, JavaScript, Plugin, Workflow, Custom Action, Custom API, WebResource, TypeScript, IntelliSense, Code Generator, CLI, Roslyn Analyzer
License
MIT License - See LICENSE for details.
Author
Phuoc Le
GitHub | Visual Studio Marketplace
Made with ❤️ for the Dynamics 365 Developer Community