This package contains the official SDK tools authored by the Microsoft Common Data Service SDK team.
The included command line tools are installed in the project's bin\coretools folder.
Install-Package Microsoft.CrmSdk.CoreTools -Version 220.127.116.11
dotnet add package Microsoft.CrmSdk.CoreTools --version 18.104.22.168
<PackageReference Include="Microsoft.CrmSdk.CoreTools" Version="22.214.171.124" />
paket add Microsoft.CrmSdk.CoreTools --version 126.96.36.199
#r "nuget: Microsoft.CrmSdk.CoreTools, 188.8.131.52"
// Install Microsoft.CrmSdk.CoreTools as a Cake Addin #addin nuget:?package=Microsoft.CrmSdk.CoreTools&version=184.108.40.206 // Install Microsoft.CrmSdk.CoreTools as a Cake Tool #tool nuget:?package=Microsoft.CrmSdk.CoreTools&version=220.127.116.11
These tools may be used for application and solution development. The Microsoft .NET Framework 4.6.2 must be installed on the computer where these tools are to execute.
For information about downloading the tools, see https://docs.microsoft.com/dynamics365/customer-engagement/developer/download-tools-nuget
- Added auto type filtering based on version of SDK Libs available to CrmServiceUtil at time of use. this will reduced the frequency of classes being created that are not supported by the current SDK libs
- Added some timing and status information to the general console ui.
- Updated online login flows to always use oAuth flows for connection to Dataverse online. Note, this does not apply to connection strings.
- Updated Newtonsoft.Json to v11.0.2 to match server.
- Updated to latest BatchedTelemetry.
- Fix XML declaration and encoding when packaging in localization files
- Support for license/service plan entities
- Added Support to generate properties for EntitySetName, EntityCollectionName
- Added new command line parameter to support removing the Generated Code Attribute from every class
Command line parameter is /SuppressGeneratedCodeAttribute or /sgca for short.
- Added Support to detect and modify the use of reserved SDK names by SolutionAware Entities.
This should cut down on the issues seen when a solution aware entity includes a field name like "EntityLogicalName"
Should this occur, a the class member will end up with the name "EntityLogicalName1"
- Fixed an issue where an Empty Enum would be generated for an optionset with no members.
Going forward, if an OptionSet exists with no members, it, and any property that utilizes it will be excluded from code gen.
- Fixed an issue where an invalid SDK Message mapping could cause a null exception in the CrmServiceClientUtil.
This edge case has appeared in a few environments with enough consistency to warrant a fix to the tool to handle that state.
- Correctly roundtrip empty NavigationSettings in AppModule
- Exception will be thrown when canvas app doesn't have any matching filename with its name
- Fixed crash when more than one SolutionPackager was running in parallel
- Fixed args parsing issue when args has backslash followed by a quote
- Added support for localization of sharded components
Fixed Authority property data loss post clone process
Support service-side sharding of component files during extract and pack. Consequence of this when packing a solution zip: any subfolder and its files in the solution's root folder will be treated as potential component files and added to the solution.zip. Folders with names as bin/obj will be ignored during extract and pack.
Support processing files longer than 260 chars
Fix adding localization duplicates when writing resources into .resx file
Improved performance while handling localized files
Fixed crash when the same component file was referenced from different locations using web vs windows path to that file
Fixed a bug with components in managed solutions when the user was not passing packagetype argument.
- respect unmanaged SiteMap.xml if packing with '/useUnmanagedFileForMissingManaged'
- fix name detection in EnvironmentVariable components
- emit actionable error message when referenced formula xaml file is missing in solution.zip
Fixed a bug with how errors are handled when they are raised from ADAL 3.19+. MFA Force Login will now work properly again.
Added 3 new GEO's to Selection List.
Region Name - RegionCode:
United Arab Emirates - UAE
South Africa - ZAF
Germany (Go Local) - GER
SolutionPackager: - Added anonymous telemetry to SolutionPackager; to opt out use PowerApps CLI, see:
[PowerApps CLI telemetry](https://docs.microsoft.com/en-us/powerapps/developer/component-framework/get-powerapps-cli#microsoft-powerapps-cli-telemetry)
ADAL 3.19+ is now required for this library. ADAL 2.x clients will need to be updated to use ADAL 3.x+
Added Support for Current User ID login when using Online flows with oAuth ( Including constructor/connection string support )
Added Support for ClientID Secret Auth when using oAuth flows. ( Including constructor/connection string support )
- support for Environment Variables (definitions and values)
- support for Connectors
- when packing components/subcomponents that distinguish unmanaged and managed XML files (e.g. AppModuleSiteMap, AppModule, FormXml),
then use an unmanaged file if a '*_managed.xml' file cannot be found
This is an opt-in behavior, selected by the new command line param: '/useUnmanagedFileForMissingManaged'
- fixed NullReferenceException when package type was not specified and packaging both managed & unmanaged
bug fixes SolutionPackager:
- allow relative folder paths (no longer 'invalid URL' errors)
- RootComponentValidation for generic components now only warns, since a generic component cannot be validated
- CustomControl: issue helpful warnings and auto-generate metadata XML for incompletely migrated PCF controls
- CrmServiceUtil: fix its assembly version to 18.104.22.168 (binary content already had 9.x functionality, but previous version showed misleadingly as being 8.x)
SolutionPackager: pack from single AppModuleSiteMaps file for packageType=both unless an explicit AppModuleSiteMap_managed.xml file is found
CrmSvcUtil: Added Support for China Geo
- support extract/pack for CustomControls, their custom manifest and control resources
- support extract/pack Flow and CanvasApp
- support extract/pack for not yet supported components; information in Customizations.xml and component files
will be extracted and packed without roundtrip loss, but no parsing or component-specific checks
Fixed bug in CrmServiceClient which would cause some OnPrem connections to fail with an error "Item already added to List"
Minor Pref Improvements
Updated to include Fixed version of CrmServiceClient and login control for new US Geo ( US Gov High )
Applies to CrmSvcUtil primarily
Note .net 4.6.2 is now required as a baseline
Fixed AppModuleSiteMap to support both unmanaged and managed local files side-by-side
Corrected Code Sign issue on SolutionPackager
Updated for 22.214.171.1240 CDS/XRM release
Fixed an issue in SolutionPackager.exe where it was incorrectly adding a visualizations node to savedqueries nodes
126.96.36.199: Updated for 188.8.131.529 CDS/XRM release
Updated with Xrm.Tooling.Connector support
Added new dependencies for Xrm.Tooling.Connector.dll
184.108.40.206: Adding missing file for interactive use of CrmServiceUtil. Will enabled the /il switch.
220.127.116.11: 9.0 Initial Release
9.0 Initial Release
Major updates to solution packager to support new component types. *note: SolutionPackager 8.x is not compatible with all component types in 9.x +
New interfaces to support certificate based auth.
Added support to skip discovery
Added Clone connection support of OAuth based connections
Added New Authentication type to support externally hosted auth.
**Note: Interface for Xrm.Tooling.Connector is *NOT* Final. there are new API interfaces that will be surfaced before GA.
Seveal preformance updates.
Fix to memory leak in Microsoft.Xrm.Tooling.Connector.TraceLoggerBase. Trace Listener collection would not be released within a process over a very long time frame over multiple connections. This would manifest as increasing memory consumption over a very long period.
Fix cleans this up on the .dispose() call on the CrmServiceClient.
Note: if you have built your own logger based on the Microsoft.Xrm.Tooling.Connector.TraceLoggerBase, you must call .dispose() when you are done with it to clean up the listener collection assigned to it.
Addressed an issue with customers who use optionset type generators and or linq class access that do not have a handler to define type enum’s for optionsets. This update will provide support for older behaviors in addition to supporting developer who use enum based optionset generators
Updated to correct version of crmsvcutil for the current version of CRM that exposes all command line switches
Fixes in dependency mapper and that caused issues with some solutions
18.104.22.168: Fix of dependency issue in nuget package. Now properly requires .net 4.5.2 as a baseline
22.214.171.124 Refreshed from current release
Fixed site map packing issue in solutionpackager.exe
8.2.0: Removed Deprecated Assemblies and Executables. Updated to current bits.
126.96.36.199: Updated the Microsoft.IdentityModel.Clients.ActiveDirectory assemblies as required by the Xrm Tooling assemblies.
8.1.0: CRM Online 2016 Update 1
8.1-preview: Pre-release CRM Online 2016 Update 1
188.8.131.52: UR1 (Update Rollup 1) with customer related hotfix
8.0.2: UR1 (Update Rollup 1)
8.0.1: GA (General Availability)
8.0.0: RTM release
* The CrmSvcUtil.exe program has been updated with additional command line parameters. For more information, run the program with no parameters to see the online help.
This package has no dependencies.
NuGet packages (13)
Showing the top 5 NuGet packages that depend on Microsoft.CrmSdk.CoreTools:
Simple and Lightweight deployment task runner for Dynamics 365
Create Dynamics 365 plugins according to SOLID software princips. This package provide the basic infrastructur for building plugins with services and inject these into the Dynamics 365 plugin pipeline.
MSBuild.Xrm.SourceControl provides a simple but powerful method for extracting Dynamics 365 customisations. The extension uses PowerShell scripts that can seamlessly extract customisations from a Dynamics 365 instance and then subsequently rebuild them into a zipped Solution file ready for import when necessary. The scripts use the SolutionPackager.exe tool provided by the Dynamics 365 SDK. It supports file mappings, managed and unmanaged solutions, and the export of AutoNumber and Calendar settings. Please find the documentation through the Project Site link.
A library with extensions to CRMSvcUtil
The package contains a library which provides some usefull classes, which can be injected in the code generation process of the CrmSvcUtil.exe. The interfaces are documented at https://msdn.microsoft.com/en-us/library/hh547384.aspx
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on Microsoft.CrmSdk.CoreTools:
An open-source library for building Dynamics CRM XRM solutions using Script#, jQuery & Knockoutjs.
xRM CI Framework provides you with the tools automate the build and deployment of your CRM Solution. Using the framework to implement a fully automated DevOps pipeline will allow you to deploy more frequently with added consistency and quality.