This package contains the official Microsoft.Xrm.Tooling.Connector assembly and has been authored by the Microsoft Common Data Service SDK team.

There is a newer version of this package available.
See the version list below for details.
Install-Package Microsoft.CrmSdk.XrmTooling.CoreAssembly -Version
dotnet add package Microsoft.CrmSdk.XrmTooling.CoreAssembly --version
<PackageReference Include="Microsoft.CrmSdk.XrmTooling.CoreAssembly" Version="" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Microsoft.CrmSdk.XrmTooling.CoreAssembly --version
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

This package contains assemblies for Dynamics 365 (online and on-premises). These assemblies require application development using the Microsoft .NET Framework 4.6.2 or later.
           Added native support for handing throttling messages from server.
           Fixed issue where a cloned connection's token could time out in a way that was not detected.
               When failing, this would result in a mid operation Authentication failure reporting something like 'Anonymous Access Failed'
Added Support for China Geo
           Minor changes to logging of Import Solution Activities
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 )
           Added Property to get current accesstoken to be used for Token Exchange requests. - Only available in oAuth mode
           Fixed User reported bug with Early Binding not working correctly for WS-TRUST based auth type.
           .Net 4.6.2 is now required for this assembly.
           Warning! : by User request, the limitation on max ADAL version has been removed from this package. However anything higher then ADAL 2.9.x will cause this assembly to fail when using oAuth based authentication.
           Added resiliency to "GET" operations in the API to improve API reliability.
           Added Support for new GEO,  "USGov High" with deploymentRegion=USGov
           Added New Property called "ForceServerMetadataCacheConsistency"
                This will force the CDS server to refresh the current metadata cache with current DB config.
                       Note, that this is a performance impacting property.
                       Use of this flag will slow down operations server side as the server is required to check for consistency of the platform metadata against disk on each API call executed.
                       It is recommended to use this ONLY in conjunction with solution import or delete operations.
           Updated default settings for Retry of retryable failures,  Delay between retrys is now 5 seconds with a max retry count of 10
           Major cleanup pass on logging of errors,  Error logging should be more concise now.

           Fixed a bug where the request id property, when passed on an organization request or webRequest, would not be honored.
           Added Request Id's to Async requests for SolutionImportAsync and DeleteAndPromoteSolutionAsync.
           Added verbose log events for reporting request ids from Async requests.
           Fixed a bug that would occur when using oAuth based login where the same user windows session  ( login to windows ) was used to then connect to more than one user of CDS/CRM in the same domain.
               Example of failure:
                   user contoso\Jdoe (shared account) is used to login into a windows desktop.
                   On that desktop is used to login into CDS,  then a second application is lauched and the user is used to login into CDS.
                   This would result in login failure for the second user with a error indicating that ADAL could not determine which token to use to login.
           Fixed a bug in ExecuteCrmWebRequest where some http success codes would be incorrectly seen as a fault.

           Added new property on CrmServiceClient called MaxConnectionTimeout to allow you to set MaxConnectionTimeout of any given action.
               This property works in conjunction with the existing AppSetting MaxConnectionTimeoutMinuets that can be set in the app.config file.
               if both are set, the property on CrmServiceClient is what is used.
               Note:  this is a global property and cannot be changed once the connection is established.
               Note2: this is subject to network controls imposed by the network between your client and the CDS Service endpoint.

           Added new property on CrmServiceClient called SessionTrackingId to allow you to track all SDK operations made in a process as a given session.
               When set, all operations executed by your application via this CrmServiceClient will be tagged with SessionID you provide.
               This property is primary used by Microsoft Support to help troubleshoot issues, and if available, will speed the identification of issues.

           Updated behavior to block use of token cache files when the setting CacheCredentials = false
           Updated behavior of ExecuteCrmWebRequest to auto include oData 4.0 default headers for CDS.
               This call now includes the following headers automatically:
               These headers can be overridden by passing the same key with the updated value via the customHeaders parameter.
           Updated behavior of error loggers to include SessionID when present and tag root errors with a visual key " |=> " to allow for parsing.
               Updated behavior of connections string to *NOT* use discovery by default. This will require the URL passed to be the correct URL to connect to the CDS instance
Fixed a bug with using ExecuteCrmWebRequest where SkipDiscovery was also used that would cause the command to fail with a malformed URI error.
Fix to support SSO login, issue manifested as unable to execute a SSO login on second attempt.
Fix to make local metadata cache instance aware,
Issue manifested in a single client process where more then one connection was made to different CDS instances and the metadata helpers were used.  The Metadata would not be instance specific.

Streamlined .Clone support by removing unneeded WhoAmI validation call.
Added new .Clone override to allow a developer to pass an assembly reference to the .Clone method to use when establishing strong types for that connection.
Added addition error log details when a fault is detected
Added settings to control inline retry of requests when request is failed due to a network related issue.
ApiOperationRetryCountOverride - count of retries before the connection gives up.  default is 3.
ApiOperationRetryDelayOverride - Time the system waits between retries in seconds.  default is 1.
           Added support for retrying SDK request if the server throws a retriable errors.
           ImportSolutionToCrmAsync –
               Returns an AsyncOperation ID that must be polled for solution Import competition or failure.
               Note, Async jobs are subject to Async queueing and overhead, thus use this with caution.
           DeleteAndPromoteSolutionAsync –
               Returns an AsyncOperation ID that must be polled for competition
               Note: DeleteAndPromote Async support is not generally available to all regions and versions of the platform.  If this not available the async job with fail immediately.
               Note: Async jobs are subject to Async queueing and overhead, thus use this with caution.
           Added support for retrying SDK request if the server throws a retriable errors.
           Modified Package to include as a proper nuget reference.
           Modified logging to report time lost to threading blocks (threading blocks occur when the service client is being used in a multithreaded application)
           Added new dependancies:
           Added Support for Caller ID using AAD Object ID of caller -
               Added new property on CrmServiceClient: CallerAADObjectId
               Supported for 8.1 and later.
           Added New Method ExecuteCrmWebRequest
               This method supports using the XRM WebAPI directly from the CRMServiceClient.
               Supports only oAuth and Certificate Auth connection types
               Supported for 8.0 and later.
               Supports Common request types and supports batch execute.
           Added Global Discovery Support for Instance lookup
               Global discovery is now used for all lookup, both regional and global (Online Region = Don't Know) when OAuth is used, except where special region rules are required.
               Note: Germany and North America 2 are not scanned when Online Region = Don't Know is selected.
           Added SkipDiscovery to all connection string variants.
           Added Certificate support for constructor variants.
           Fixed issue with allowing discovery selection using onPrem and OAuth.
           Fixed an issue with older On-Prem ADFS instances that do not require a resource URI.

           **Special notes:
               Added additional telemetry support to connection requests
                   This will add the process name of the calling process (if available) to help with troubleshooting and support requests.
               Added request IDs to all requests to help with troubleshooting and support requests.
                   These will appear only when verbose logging is enabled.
            Fixed to allow External Authentication Type to function in released versions of Xrm.Tooling.Connector.dll 9.0 Initial Release
         Improved cache system for faster reconnects.
         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.

         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.

         Added Support for United Kingdom CRM GEO

         Added new behavior to DynamicsFileLogTraceListener.  You can now specify a rolling log behavior based on log size.  To enabled this, add the MaxFileSize key set to the size in bytes and the MaxFileCount set to the max number of files to the Microsoft.Xrm.Tooling.Connector.DynamicsFileLogTraceListener in your app.config.
 Fix of dependency issue in nuget package. Now properly requires .net 4.5.2 as a baseline Assembly version changed to
         Connection String support:
         Corrected issues with connection string login to properly support the "never prompt" behavior.
         Corrected issue were the connector would create a new instance of the connection unnecessarily – impacted ONLY connection string process.
         RequireNewInstance=True will now properly create a unique connection instance, RequireNewInstance = false, will now properly reuse the cached instance of the connection,  default is ‘false’

         Streamlined re-use of existing connection code when a new instance is called for by a constructor to remove unnecessary calls.
         Modified Caching support to return the full object from in memory cache vs just the core connection.
         Fixed token cache behavior to work properly when assembly is resident on an Azure WebApp or Function.
         Fixed ADAL nuget dependency issue to allow assembly to consumed directly from nuget into an Azure function.
         Fixed MFA ( multifactor authentication ) to properly handle password expired, and password to MFA scenarios

         New Function Utility.GetOrgnameAndOnlineRegionFromServiceUri, Used to parse a Org URL for the correct online region and org name.
         CrmServiceClient now implements IDisposable to allow for the object to be explicitly disposed.
 Updated to a newer version of Microsoft.IdentityModel.Clients.ActiveDirectory 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
         8.0.2: UR1 (Update Rollup 1)
         8.0.0: RTM

Showing the top 7 GitHub repositories that depend on Microsoft.CrmSdk.XrmTooling.CoreAssembly:

Repository Stars
An application that gather multiple tools to ease the customization and configuration of Microsoft Dynamics CRM/365/CDS/PowerApps
Dynamics 365 Workflow Tools is a Community solution that expands Microsoft Dynamics 365 (CRM) Workflow features with lots of new posibilities. This helps you to build very advanced Codeless solutions in CRM.
Sample code for Power Apps, including Common Data Service, model-driven apps, canvas apps, and Power Apps Component Framework.
An open-source library for building Dynamics CRM XRM solutions using Script#, jQuery & Knockoutjs.
The testing framework for Dynamics CRM and Dynamics 365 which runs on an In-Memory context and deals with mocks or fakes for you
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.
Aspose.Cells for .NET examples, plugins and showcases

Read more about the GitHub Usage information on our documentation.

Version History

Version Downloads Last updated 0 6/2/2020 13,788 4/20/2020 280 4/20/2020 14,323 3/25/2020 35,249 2/11/2020 3,415 2/7/2020 38,372 12/18/2019 19,745 12/5/2019 41,582 10/25/2019 11,869 10/16/2019 79,314 9/11/2019 45,045 7/23/2019 7,241 7/18/2019 50,764 5/22/2019 132,063 2/25/2019 34,020 2/7/2019 103,406 10/24/2018 79,611 9/17/2018 102,898 7/6/2018 61,835 4/25/2018 169,853 11/15/2017 151,807 10/23/2017 52,687 8/29/2017 287,697 4/12/2017 34,309 3/22/2017 154,695 12/21/2016 96,055 12/10/2016 90,769 5/26/2016 15,618 5/9/2016
8.1.0-preview 645 4/21/2016
8.0.2 8,368 2/20/2016
8.0.0 36,235 12/3/2015 40,086 8/26/2015
7.1.0 53,667 4/28/2015
7.1.0-preview 504 3/17/2015
7.0.1 1,598 3/10/2015 3,180 12/2/2014
6.1.1 7,006 9/18/2014 865 7/15/2014
6.1.0 1,655 6/17/2014
Show less