Microsoft.Powerplatform.Cds.Client 0.3.6-Alpha

The ID prefix of this package has been reserved for one of the owners of this package by Prefix Reserved
.NET Core 3.0 .NET Framework 4.6.2
Suggested Alternatives


Additional Details

This package has been superseded by Microsoft.PowerPlatform.Dataverse.Client

This is a prerelease version of Microsoft.Powerplatform.Cds.Client.
The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet add package Microsoft.Powerplatform.Cds.Client --version 0.3.6-Alpha
NuGet\Install-Package Microsoft.Powerplatform.Cds.Client -Version 0.3.6-Alpha
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Microsoft.Powerplatform.Cds.Client" Version="0.3.6-Alpha" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Microsoft.Powerplatform.Cds.Client --version 0.3.6-Alpha
#r "nuget: Microsoft.Powerplatform.Cds.Client, 0.3.6-Alpha"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Microsoft.Powerplatform.Cds.Client as a Cake Addin
#addin nuget:?package=Microsoft.Powerplatform.Cds.Client&version=0.3.6-Alpha&prerelease

// Install Microsoft.Powerplatform.Cds.Client as a Cake Tool
#tool nuget:?package=Microsoft.Powerplatform.Cds.Client&version=0.3.6-Alpha&prerelease

This package contains the preview of the .net core CdsServiceClient. Used to connect to Microsoft Common Data Service. This Package has been authored by the Microsoft Common Data Service SDK team.

Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows
.NET Core netcoreapp3.0 netcoreapp3.1
.NET Framework net462 net463 net47 net471 net472 net48
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Microsoft.Powerplatform.Cds.Client:

Package Downloads

Reliable and durable connector for Power Platform Dataverse


Package Description


A component of shazam framework to establish connections with a power platform environment

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated

   This package is in a public ALPHA release.
   This package is intended to work with .net full framework 4.6.2, 4.7.2 and 4.8, .net core 3.0 and 3.1
   We have not stabilized on NameSpace or Class names with this package as of yet and things will change as we move though the preview.
   General Documentation is the same as CrmServiceClient and can be found here:
   Connection String Docs can be found here:
   Note: that only OAuth, Certificate, ClientSecret Authentication types are supported at this time.

Fixed an issue where Activity Party types were not being properly processed
Fixed an issue where the incorrect format was used for Data only types.
Fixed an issue where BypassPluginExecution property on request was not being understood properly by the server.

***** Breaking Changes *****

MSAL Port completed.
   Auth processes have been ported to MSAL.
   UserID/PW flows are now enabled on .net core for login where possible ( per AAD security rules and host OS)
   Auth flow Logging capture is still under development.

Authentication constructors are now updated to remove some patterns
Removed Token Cache path from constructors and ignore on connection string at this time
   Token Cache handle support will be revisited, however if you have a pressing need, we recommend you use the external token management constructor in the mean time and self manage that.
   For now, only MSAL In-Memory support will be provided for token cache
Refactored to support Shared HTTPClientFactory for WebAPI connections to cut down on some noise for folks that are doing repeated logins.
Refactored code a bit to help with clarity on various functional areas.
Renamed/Refactored Discovery methods to as Async methods.

Rerouted all Upsert Request to use OrganizationService API.
Added new InMemory Logging Options to support returning Logs captured either as Array of Tuples or a string list.
Added new public property for OrganizationDetail Information called "OrganizationDetail" for the currently connected environment.
Added new enum for ImportSolution additional property options called "ImportSolutionProperties" - this contains valid options for additional properties for the ImportSolution handler
Fixed an issue with telemetry for the client that was using incorrect format for useragent content
Updated Core CDS Sdk assemblies

Fixed an issue with .Clone not correctly supporting adding telemetry handlers to cloned connections

Adding Switzerland Geo to Regions List.
Added support for Alternate key use on entity references as part of Create Update Delete Operations running over the webAPI.
Added concurrency support to Create Update Delete Operations running over the webAPI.

Renamed Exception CdsConnectionException to CdsClientConnectionException.  No other change to the Exception
Improved handling of cached connection retrieval failures from memory when an invalid object is returned.
Fixed a bug where a WebAPI navigation property did not match with its metadata descriptor.
Fixed Retry delay issue when making calls to the CDS WebAPI – thanks to GIT user stvonolf for the catch of this issue.
Added new Exception, CdsClientOperationException - this will be used when an exception is raised via the CDSClient when CDSClient is using WebAPI.
Added IntelliSense Doc Support
Added support for bypassing custom Plug-in Execution during SDK Operation.  
   This is a special use capability that requires a specialized permission in the CDS infrastructure to use.
   Currently this is only permitted for use by users that have the System Administrator Security Role.

Fixed issue when CUD via WebAPI when entity contains a entity reference that is a polymorphic reference. ( IE customer data type )

Corrected a bug in Org request to WebAPI operation when attempting to set fields to null values.
Added initial support for in memory log capture support.

Update to internal support libraries

Fixed an issue with sovereign cloud discovery reference data that would prevent a future login control from picking the correct global discovery server.

Fixed missing ConfigureAwait on ADAL Authority acquire flow.
Added some additional logging to understand what version of ADAL is being used.
Fixed an issue with translation of Money types to WebAPI requests.

Fixed Authority property data loss post clone process
Added temp logic to run upsert requests that have anything other than string keys via the Native OrgAPI vs webAPI, this is a workaround for an open issue with the webAPI where it does not support none string key's on upsert(patch) requests that result in a create operation.
Rerouted CdsServiceClient Helpers to use WebAPI path for CUD requests.

Several updates to Create / Update / Delete operations to move the underlying features over to use the WebAPI.
Please report any bugs that you run into with this.  This has been "mostly" tested with our current test suite, however we have not full tested all data type translation at this point.

Altering Nuget Version to 3 digit semantic version
Namespace change from Microsoft.Powerplatform.xxxx to Microsoft.PowerPlatform.xxxx
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.
Fixed a number of discovery related issue that were broken during the port.
Added new forms of DiscoveryGlobalOrganziations to allow for a token function to be passed to enabled this for use in WebSites and functions where it makes sense.
Updated several sovereign GEO's configs to reflect use of Global discovery for those GEOs
Fixed a bug in LinQ create methods that would appear on non-windows deployments.
   This would manifest as a missing method exception when trying to create a sequential guid.
Fixes a bug in using ExecuteCdsWebRequest that blocked connections using clientSecretAuth types.
Removed IOverrideAuthHookWrapper and property and replaced with a new constructor form.
   This capability was replaced with a new constructor that accepts a function pointer as a parameter to the constructor.
   This user provided function takes the form of string FunctionName (string InstanceUri),  When called, the current instance URI will be
   passed in and the function is expected to return an access token for access to that instance.  
   This form allows an given instance of the CdsServiceClient to be associated with a Auth Processor vs having the auth processor at the process level.

Fixed a bug reported in .clone in .net core builds.  When cloning a connection in .net core, the system would think you were using an invalid auth type.

Known issues:
   None at this time.. Please report any issues on the GitHub Issues site.
   Fixed a Nuget Package dependency issue in Microsoft.Dynamics.Sdk.Messages
Intial Alpha release of Microsoft.Cds.Client.CdsServiceClient
   WARNING: This is an ALPHA release.
   This library is a rename and renamespace of the Microsoft.Xrm.Tooling.Connector.CrmSeriviceClient.
   If you are familiar with the CrmServiceClient,  By Renaming each occurrence of Crm to Cds, you should find that API's match up.
   Major changes from CrmServiceClient:
       This library does not support User Interactive or User Password Auth flows in .net core.
       This library does not support AD or ADFS login to OnPremise,  
           to use against an onPrem instance of CDS, your instance must be configured with
           ADFS + OAuth and the application ID you wish to use registered.
       This library removes several Dynamics specific helper methods from CrmServiceClient.
           this additional methods can be found by include the nuget package Microsoft.Cds.Client.Dynamics