{"id":6310,"date":"2021-05-12T09:00:34","date_gmt":"2021-05-12T17:00:34","guid":{"rendered":"https:\/\/officedevblogs.wpengine.com\/?p=6310"},"modified":"2021-05-12T09:00:34","modified_gmt":"2021-05-12T17:00:34","slug":"microsoft-graph-net-sdk-v4-adds-enhanced-features-now-in-preview","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/microsoft-graph-net-sdk-v4-adds-enhanced-features-now-in-preview\/","title":{"rendered":"Microsoft Graph .NET SDK v4 adds enhanced features &#8211; now in preview"},"content":{"rendered":"<p>The Microsoft Graph SDKs are designed to simplify building high-quality, efficient and resilient applications accessing Microsoft Graph. Integrate your app with the Microsoft Graph .NET SDK v4, now available in public preview, and leverage new modern development features.<\/p>\n<h3>New features and improvements<\/h3>\n<p>This new version of the SDK has many improvements, including:<\/p>\n<p>New and improved authentication API based on the <a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/api\/overview\/azure\/identity-readme\">Azure Identity client library<\/a>.<\/p>\n<ul>\n<li>You can now use a single API to authenticate against Microsoft Graph and Azure .NET clients. Azure Identity adds support for a variety of <a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/api\/overview\/azure\/identity-readme#credential-classes\">credential classes<\/a> capable of acquiring a token to authenticate service requests.<\/li>\n<\/ul>\n<p>New support for JSON serialization and deserialization.<\/p>\n<ul>\n<li>Use <a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/standard\/serialization\/system-text-json-overview\"><em>System.Text.Json<\/em><\/a> library that is now a part of the .NET platform instead of <em>Newtonsoft.Json<\/em> for JSON serialization and deserialization.<\/li>\n<\/ul>\n<p>Easy access to response information.<\/p>\n<ul>\n<li>Access response headers, status code and even deserialize the response in your own custom way through the new <em>GraphResponse&lt;&gt;<\/em> object. The use of fluent APIs from the service libraries essentially remains the same. The default response handler no longer adds HTTP status code and headers into the <em>AdditionalData<\/em> property.<\/li>\n<\/ul>\n<p>Better experience upgrading dependencies.<\/p>\n<ul>\n<li>Enjoy a better experience with the following upgrades:\n<ul>\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/standard\/net-standard\">.NET Standard<\/a> is now <a href=\"https:\/\/github.com\/dotnet\/standard\/blob\/master\/docs\/versions\/netstandard2.0.md\">netstandard2.0<\/a>.<\/li>\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/framework\/get-started\/overview\">.NET Framework<\/a> is now <a href=\"https:\/\/github.com\/microsoft\/dotnet\/tree\/master\/releases\/net462\">net462<\/a>.<\/li>\n<li>The core library is now <a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.Graph.Core\/2.0.0-preview.11\">Microsoft.Graph.Core 2.0.0<\/a>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>Next steps<\/h3>\n<ul>\n<li>Check out <a href=\"https:\/\/github.com\/microsoftgraph\/msgraph-sdk-dotnet\/issues\/935\">this\u00a0GitHub\u00a0post<\/a>\u00a0to access\u00a0the\u00a0<em>upgrade guide<\/em>\u00a0containing\u00a0details\u00a0about\u00a0these improvements.<\/li>\n<li>Add the new SDK to your project by running the following command in the Package Manager Console:<\/li>\n<\/ul>\n<pre class=\"lang:null decode:true lang: \">Install-Package Microsoft.Graph -PreRelease<\/pre>\n<h3>Try out the new version today!<\/h3>\n<p>Try out this new preview version and let us know what you think <a href=\"https:\/\/github.com\/microsoftgraph\/msgraph-sdk-dotnet\/issues\/new\">on GitHub!<\/a> Ask questions at <a href=\"https:\/\/docs.microsoft.com\/en-us\/answers\/topics\/microsoft-graph-sdk.html\">Microsoft Q&amp;A<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p>Happy coding!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Leverage new modern development features when integrating your application with Microsoft through Microsoft Graph .NET SDK v4<\/p>\n","protected":false},"author":69077,"featured_media":25159,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3,11],"tags":[],"class_list":["post-6310","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-graph","category-office-add-ins"],"acf":[],"blog_post_summary":"<p>Leverage new modern development features when integrating your application with Microsoft through Microsoft Graph .NET SDK v4<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/6310","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/users\/69077"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/comments?post=6310"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/6310\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media\/25159"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media?parent=6310"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=6310"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=6310"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}