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

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 initial support for in memory log capture support.
         Fixed an issue with sovereign cloud discovery reference data that would prevent a login control from picking the correct global discovery server when connecting.

         Fixed Authority property data loss post clone process
         Fixed an error with connection string based IFD Auth flows that slipped though testing.
         Note: connection strings for IFD should no longer use the formation host/org and instead just use the format https://org.hostname/.  this is the same pattern used for connecting to online.

         Fixed an error where discovery would be used when using AD and IFD to connect to onpremise even if connection strings where used.
         Up-taking new CoreSDK release.

         Fixed an error with setting CallerId when ClientSecret Auth type is used.
         Thanks for all the bug reports on this and repro's that really helped us run it down.

         Correcting an internally Nuget dependency issue.  No Public changes
         Up-taking new CoreSDK release

         Up-taking new CoreSDK release

         Internal fixes to unify the way in which online and onprem instances were determined from the URI provided.
         Added new Static Property on Utilities called IsValidOnlineHost, this takes a URL and determines if it a valid OnLine URI for the CDS Service

         Updated CRMSDK baseline dependency to match what is currently required for this assembly to function correctly
         Fixed a bug Null Object Error that would occur occasionally during connect when many concurrent connects were run.
         This would typically happen if a developer used a Task.Wait behavior to create a stack of connections at once.
         Fixed a bug that would prevent logs from being generated even when verbose tracing was enabled.

         Added Support for new properties in discovery response.
         Tenant Id - ID of the tenant that the instance resides in
         Environment Id - ID of the PowerPlatform Environment that the instance resides in
         UrlName - Host name for the target instance.
         Fixed a bug where the second ( or third ) connection string attempt in the same process would cause the client to try to reuse the current connection.
         Fixed a bug where the SDK Version Property was not properly returning from the CrmServiceClient

         Fixed a bug with how errors are handled when they are raised from ADAL 3.19+.  MFA Force Login will now work properly again.
         Fixed an issue with Current user login failing after discovery process.
         Added 3 new GEO's to Selection List.
         Region Name - RegionCode:
         United Arab Emirates - UAE
         South Africa - ZAF
         Germany (Go Local) - GER

         Updating for CDS/XRM release
         Updated default response sizes to support more verbose error messages from CDS

         **BREAKING CHANGE**
         ADAL 3.19+ is now required for this library.  ADAL 2.x clients will need to be updated to use ADAL 3.x+
         ImportSolution, ImportSolutionAsync method signature was changed to remove optional "solutionname" parameter. This was intended for internal use only.

         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 )
         Fixed an issue with Clone that would not clone the Retry Properties if they were set by property and not via App.config
         Optimized Token Refresh logic for oAuth connections.
         Updated Telemetry some Telemetry information to report version of CrmServiceClient in use

         Added support for France and New US Geo's
         Added new behavior to return the full login error when initial connect fails in LastException.
         Fixed https activation issue introduced by .net 4.8. - This should no longer require http activation to be enabled on windows.
         Fixed issue where a long running cloned connection loses its access token.

         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 launched 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 dependencies: version
         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

NuGet packages (54)

Showing the top 5 NuGet packages that depend on Microsoft.CrmSdk.XrmTooling.CoreAssembly:

Package Downloads
This package contains the following official Microsoft assemblies and has been authored by the Microsoft Common Data Service SDK team. - Microsoft.Xrm.Tooling.PackageDeployment.CrmPackageExtentionBase.dll
This package contains the following official Microsoft assemblies and has been authored by the Microsoft Dynamics 365 SDK team. - Microsoft.Uii.AifServices - Microsoft.Uii.Common - Microsoft.Uii.Common.Configuration - Microsoft.Uii.Common.Listeners - Microsoft.Uii.Common.Logging - Microsoft.Uii.Common.Logging.Providers - Microsoft.Uii.Common.Providers - Microsoft.Uii.Csr.Core - Microsoft.Uii.Csr.Win32Api
Utilities to streamline unit testing in Dynamics CRM 365 by faking the IOrganizationService against an In-Memory context which runs blazing fast.
Utilities to streamline unit testing in Dynamics CRM 365 by faking the IOrganizationService against an In-Memory context which runs blazing fast.
Utilities to streamline unit testing in Dynamics CRM 2016 by faking the IOrganizationService against an In-Memory context which runs blazingly fast.

GitHub repositories (7)

Showing the top 5 popular 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
Sample code for Power Apps, including Common Data Service, model-driven apps, canvas apps, and Power Apps Component Framework.
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.
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

Version History

Version Downloads Last updated 10,562 8/13/2020 11,901 7/15/2020 8,305 7/1/2020 13,280 6/12/2020 12,452 6/2/2020 52,047 4/20/2020 373 4/20/2020 27,121 3/25/2020 66,457 2/11/2020 6,766 2/7/2020 66,784 12/18/2019 36,021 12/5/2019 62,366 10/25/2019 14,704 10/16/2019 112,689 9/11/2019 57,149 7/23/2019 9,380 7/18/2019 58,985 5/22/2019 151,623 2/25/2019 41,177 2/7/2019 115,401 10/24/2018 91,509 9/17/2018 114,509 7/6/2018 68,805 4/25/2018 193,856 11/15/2017 209,844 10/23/2017 55,538 8/29/2017 324,678 4/12/2017 38,108 3/22/2017 170,661 12/21/2016 109,679 12/10/2016 96,885 5/26/2016 16,363 5/9/2016
8.1.0-preview 693 4/21/2016
8.0.2 8,846 2/20/2016
8.0.0 38,755 12/3/2015 40,727 8/26/2015
7.1.0 61,631 4/28/2015
7.1.0-preview 542 3/17/2015
7.0.1 1,722 3/10/2015 3,346 12/2/2014
6.1.1 8,467 9/18/2014 935 7/15/2014
6.1.0 1,782 6/17/2014