{"version":"1.0","provider_name":"Visual Studio news feed","provider_url":"https:\/\/devblogs.microsoft.com\/vsnews","author_name":"Sachin Thakur","author_url":"https:\/\/devblogs.microsoft.com\/vsnews\/akams-author\/sathaku\/","title":"Learn about the latest .NET Productivity features","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"gcix64bOy4\"><a href=\"https:\/\/devblogs.microsoft.com\/vsnews\/akams-aa93fsz\/\">Learn about the latest .NET Productivity features<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/devblogs.microsoft.com\/vsnews\/akams-aa93fsz\/embed\/#?secret=gcix64bOy4\" width=\"600\" height=\"338\" title=\"&#8220;Learn about the latest .NET Productivity features&#8221; &#8212; Visual Studio news feed\" data-secret=\"gcix64bOy4\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/devblogs.microsoft.com\/vsnews\/wp-includes\/js\/wp-embed.min.js\n<\/script>\n","thumbnail_url":"https:\/\/devblogs.microsoft.com\/vsnews\/wp-content\/uploads\/sites\/25\/2018\/08\/vsfeaturebig.png","thumbnail_width":716,"thumbnail_height":448,"description":"The .NET Productivity team (a.k.a. Roslyn) is constantly thinking of new ways to make .NET developers more productive. We\u2019ve been working hard to take the feedback you\u2019ve sent us and turn it into tools that you want! In this post, I\u2019ll cover some of the latest .NET productivity features available in Visual Studio 2019."}