cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
MattB-MSFT
Microsoft
Microsoft

Announcing the .net Core SDK for Common Data Service (CDS) - External Client Development

This Post has been superseded by net-SDK-for-Dataverse-Dataverse-ServiceClient 

 

 

Folks, 

As many of you know, we have a existing .net full framework SDK that we provide for folks to develop client applications that communicate with CDS.  This SDK has existed for a long period and arose from the Dynamics 365 aspects of our platform. 

We have continued to support this SDK over the last many years over many versions of our platform.   

 

We have been working to update this SDK package to better address the needs of the current platform and the technologies that many of our partners who develop client applications to integrate with the Power Platform use.   We are now ready to share this with the larger community for testing and feedback. 

 

Today we have posted the alpha version of the Microsoft.Powerplatform.Cds.Client on nuget.  along with a few additional packages that we are using to split out the Dynamics Sales / Service and Marketing centric messages and helpers from the core CDS platform SDK

 

This version of the SDK libs supports the following and has the following notices: 

  1. .net full framework 4.6.2, 4.7.2, 4.8 and .net core 3.0, 3.1 
  2. We are supporting only Client Secret / Cert flows for .net core.  On .net framework additionally we support OAuth User flows
  3. We are shipping the initial drop using ADAL.net for the Auth Lib.   We MAY change to use MSAL shortly 
    1. MSAL would enabled us to support User Interactive flows on .net core. 
  4. The Namespaces of areas WILL change.  We do not know what they will change too just yet but they will change before we “release” this.
  5. The Assembly Names Will likely change at least once more. 
  6. The Message types that are part of the client have been reduced to CDS Core server messages only.  Things like “QualifyLeadRequest” have been removed to their own Nuget package ( Microsoft.Dynamics.Sdk.Messages ) 
  7. We will likely ship more extension packages that will contain the “CRM” messages,  though over time, we will likely split the namespaces of those messages up based on service line,  think Field Service or Sales or Customer Service, etc..
  8. Plugin Development using this Client is NOT supported at this time. 

We have pushed the first version up to nuget,  its tagged as preview and I encourage you to read the release notes we provide with the nuget packages. As with most of our Nuget packages that are intended as tools or for developer consumption, we extensively comment in release notes. 

 

Samples and such will be updated overtime on the PowerApps Samples GitHub Site as we move forward with the evolution of this capability.   That said, any of the existing CrmServiceClient samples can be used as a base to start.

 

From a scenario point of view,  we are particularity interested in any issues or challenges when using these library in either Asp.net Core or Functions scenarios. 

 

Links for the packages:

https://www.nuget.org/packages/Microsoft.Powerplatform.Cds.Client

https://www.nuget.org/packages/Microsoft.Powerplatform.Cds.Client.Dynamics

https://www.nuget.org/packages/Microsoft.Dynamics.Sdk.Messages

 

for 99% of your applications working against Dynamics, you should only need Microsoft.Powerplatform.Cds.Client and Microsoft.Dynamics.Sdk.Messages.

if your working against CDS Only,  you should only need Microsoft.Powerplatform.Cds.Client.  If you do not experience that, or find missing messages in the CDS only scenarios, please let us know. 

 

Note: Please be aware that during the Alpha \ Beta phases, these nuget packages are not supported via official channels

Support is aware of them, however you will likely be directed back to the community forums for support during the Alpha \ Beta phases.  A number of our dev's and PM's do monitor this channel and can respond to questions and feedback. 

 

As we progress this process it is our intent to deprecate then retire the older Microsoft.Xrm.Tooling.* Packages and replace them with updates built on this new set of Nuget Packages. 

 

Thanks All, and we look forward to your feedback on this.

 

Update:  We have setup a github issues site to track issues for this effort: 

Update#2:  We have now begun posting the code for the CdsServiceClient on this git Hub repro for reference. 

Please find the site here: https://github.com/microsoft/PowerPlatform-CdsServiceClient 

 

MattB-MSFT.  

 

47 REPLIES 47

@MarkData8  for OnPrem, you can configure the use of Oauth via ADFS,  then you can use this client to connect. 
you can read up on that here: https://docs.microsoft.com/en-us/dynamics365/customerengagement/on-premises/developer/authenticate-u...  and here https://docs.microsoft.com/en-us/dynamics365/customerengagement/on-premises/deploy/post-installation... 

 

@Anonymous Im sorry,  at this time we are not at a point where we can provide a date yet. 
Still have considerable change going on. 

 

Thanks @MattB-MSFT, with your help on the AMA the other night I've managed to connect with all our authentication scenarios except one - on-premise without ADFS, i.e. using integrated Windows authentication. You mentioned a couple of months ago that you are considering this - what's the prospect of this being supported?

 

Thanks!

Yes we are still looking at it,  No ETA at this point as there are several challenges we are working though with AD auth for this endpoint. . 

 

thanks !

Joekim
Regular Visitor

 
Anonymous
Not applicable

Hello @MattB-MSFT,

I tested the package on my integration environment and it works perfectly, can I push it in production or there is a big risk that it won't  work

Cordially 


good to hear @Anonymous 

 

Please note it is an alpha effort right now,  use at your own risk.

 

For more information to help you decide your risk level: 

There are changes in the pipeline currently that will move more of what it does to use the webAPI and the setup work for MSAL port is starting which will change the authentication interface for some of the types. 

 

thanks 

MattB

 

Anonymous
Not applicable

@MattB-MSFT

First, thank you for your effort to make this package available to us, I can't find the peipline. You mentioned that you are going to change the authentication interface for some types, is clientsecret will not be available in the next versions?

José Mourinho said : I never change a winning team, For me authentication with secret key works perfectly



Thank you

Hassen Meddeb

We will keep the existing authentication types,  just the format of the constructor may change. 

Michaelfp
Advocate II
Advocate II

Hi! Microsoft Have a plan to using .net core on Plugin? When a version with this feature will be released?

ansrikanth
Resolver III
Resolver III

[[Sorry, just saw the other questions. Already lot of people asked about the ETA :)]]

Helpful resources

Announcements
Power Apps Africa Challenge 2022

Power Apps Africa Challenge

Your chance to join an engaging competition of Power Platform enthusiasts.

Super User 2 - 2022 Congratulations

Welcome Super Users

The Super User program for 2022 - Season 2 has kicked off!

September Events 2022

Check out all of these events

Attend in person or online, there are incredible conferences and events happening all throughout the month of September.

Government Carousel

New forum: GCC, GCCH, DoD - Federal App Makers (FAM)

In response to the unique and evolving requirements of the United States public sector, Microsoft has created Power Apps US Government.

Users online (1,818)