CINXE.COM
Microsoft Survey: Developers Held Back by Lack of 'Native AOT' in .NET Core -- Visual Studio Magazine
<!DOCTYPE html> <html lang="en-US"> <!--[if gt IE 8]> <html class="no-js" lang="en"> <![endif]--> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://visualstudiomagazine.com/articles/2020/08/31/aot-survey.aspx","20201022100947","https://web.archive.org/","web","/_static/", "1603361387"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <title>Microsoft Survey: Developers Held Back by Lack of 'Native AOT' in .NET Core -- Visual Studio Magazine</title> <meta name="description" content="Lack of native ahead-of-time (AOT) compilation in .NET Core is a sore spot for Microsoft, which just published results of a survey indicating that this missing option is holding developers back from using the framework more."> <meta name="keywords" content="Visual Studio, Microsoft, .NET, Visual Studio Magazine, VSM, .NET Development, Enterprise Development, Applicaiton Development, Web Development, SQL Server, SQL, LINQ, WPF, C#, VB.NET, ASP.NET, AJAX, XML, Visual Studio 2010, Classic VB"> <meta property="og:title" content="Microsoft Survey: Developers Held Back by Lack of 'Native AOT' in .NET Core -- Visual Studio Magazine"/> <meta property="og:description" content="Lack of native ahead-of-time (AOT) compilation in .NET Core is a sore spot for Microsoft, which just published results of a survey indicating that this missing option is holding developers back from using the framework more."/> <meta property="og:url" content="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/08/31/aot-survey.aspx"/> <meta property="og:image" content="https://web.archive.org/web/20201022100947im_/https://visualstudiomagazine.com/-/media/ECG/redmondmag/Images/IntroImages2017/1017red_RedReport_DSCCore.jpg"/> <meta property="og:site_name" content="Visual Studio Magazine"/> <!-- BEGIN Google Partner Tag HEAD CODE --> <script async="async" src="https://web.archive.org/web/20201022100947js_/https://securepubads.g.doubleclick.net/tag/js/gpt.js"> </script> <script type="text/javascript"> var googletag = googletag || {}; googletag.cmd = googletag.cmd || []; </script> <script> googletag.cmd.push(function() { googletag.defineSlot('/5978/eof.vsm', [['fluid'],[1800,450]], 'div-gpt-ad-billboard-0001') .addService(googletag.pubads()) .setTargeting('item',['3f6741d4_92ce_455e_b45a_b557e66a978d']) .setTargeting('pos',['billboard']) .setTargeting('Topic',['NET_Core','Development']) .setCollapseEmptyDiv(true); googletag.defineSlot('/5978/eof.vsm', [[728,90],[970,250]], 'div-gpt-ad-lead_t1-0002') .addService(googletag.pubads()) .setTargeting('item',['3f6741d4_92ce_455e_b45a_b557e66a978d']) .setTargeting('pos',['lead_t1']) .setTargeting('Topic',['NET_Core','Development']) .setCollapseEmptyDiv(true); googletag.defineSlot('/5978/eof.vsm', [[152,600],[152,650]], 'div-gpt-ad-wallpaper_left-0003') .addService(googletag.pubads()) .setTargeting('item',['3f6741d4_92ce_455e_b45a_b557e66a978d']) .setTargeting('pos',['wallpaper_left']) .setTargeting('Topic',['NET_Core','Development']) .setCollapseEmptyDiv(true); googletag.defineSlot('/5978/eof.vsm', [[152,600],[152,650]], 'div-gpt-ad-wallpaper_right-0004') .addService(googletag.pubads()) .setTargeting('item',['3f6741d4_92ce_455e_b45a_b557e66a978d']) .setTargeting('pos',['wallpaper_right']) .setTargeting('Topic',['NET_Core','Development']) .setCollapseEmptyDiv(true); googletag.defineSlot('/5978/eof.vsm', [[300,250]], 'div-gpt-ad-mobileflyout-0005') .addService(googletag.pubads()) .setTargeting('item',['3f6741d4_92ce_455e_b45a_b557e66a978d']) .setTargeting('pos',['mobileflyout']) .setTargeting('Topic',['NET_Core','Development']) .setCollapseEmptyDiv(true); googletag.defineSlot('/5978/eof.vsm', [[300,250],[1,1],[300,600]], 'div-gpt-ad-box_r1-0006') .addService(googletag.pubads()) .setTargeting('item',['3f6741d4_92ce_455e_b45a_b557e66a978d']) .setTargeting('pos',['box_r1']) .setTargeting('Topic',['NET_Core','Development']) .setCollapseEmptyDiv(true); googletag.defineSlot('/5978/eof.vsm', [[300,250],[1,1],[300,600]], 'div-gpt-ad-box_r2-0007') .addService(googletag.pubads()) .setTargeting('item',['3f6741d4_92ce_455e_b45a_b557e66a978d']) .setTargeting('pos',['box_r2']) .setTargeting('Topic',['NET_Core','Development']) .setCollapseEmptyDiv(true); googletag.defineSlot('/5978/eof.vsm', [[300,250],[1,1],[300,600]], 'div-gpt-ad-box_r3-0008') .addService(googletag.pubads()) .setTargeting('item',['3f6741d4_92ce_455e_b45a_b557e66a978d']) .setTargeting('pos',['box_r3']) .setTargeting('Topic',['NET_Core','Development']) .setCollapseEmptyDiv(true); googletag.defineSlot('/5978/eof.vsm', [[300,250],[1,1],[300,600]], 'div-gpt-ad-box_r4-0009') .addService(googletag.pubads()) .setTargeting('item',['3f6741d4_92ce_455e_b45a_b557e66a978d']) .setTargeting('pos',['box_r4']) .setTargeting('Topic',['NET_Core','Development']) .setCollapseEmptyDiv(true); googletag.defineSlot('/5978/eof.vsm', [[300,250],[1,1],[300,600]], 'div-gpt-ad-box_r5-0010') .addService(googletag.pubads()) .setTargeting('item',['3f6741d4_92ce_455e_b45a_b557e66a978d']) .setTargeting('pos',['box_r5']) .setTargeting('Topic',['NET_Core','Development']) .setCollapseEmptyDiv(true); googletag.defineSlot('/5978/eof.vsm', [[300,250],[1,1],[300,600]], 'div-gpt-ad-box_r6-0011') .addService(googletag.pubads()) .setTargeting('item',['3f6741d4_92ce_455e_b45a_b557e66a978d']) .setTargeting('pos',['box_r6']) .setTargeting('Topic',['NET_Core','Development']) .setCollapseEmptyDiv(true); googletag.defineSlot('/5978/eof.vsm', [[300,150]], 'div-gpt-ad-right_300x150-0012') .addService(googletag.pubads()) .setTargeting('item',['3f6741d4_92ce_455e_b45a_b557e66a978d']) .setTargeting('pos',['right_300x150']) .setTargeting('Topic',['NET_Core','Development']) .setCollapseEmptyDiv(true); googletag.defineSlot('/5978/eof.vsm', [[250,90]], 'div-gpt-ad-boot_desktop-0013') .addService(googletag.pubads()) .setTargeting('item',['3f6741d4_92ce_455e_b45a_b557e66a978d']) .setTargeting('pos',['boot_desktop']) .setTargeting('Topic',['NET_Core','Development']) .setCollapseEmptyDiv(true); googletag.defineSlot('/5978/eof.vsm', [[1024,90],[1,1]], 'div-gpt-ad-boot_mobile-0014') .addService(googletag.pubads()) .setTargeting('item',['3f6741d4_92ce_455e_b45a_b557e66a978d']) .setTargeting('pos',['boot_mobile']) .setTargeting('Topic',['NET_Core','Development']) .setCollapseEmptyDiv(true); googletag.defineSlot('/5978/eof.vsm', [[100,100],[200,200]], 'div-gpt-ad-dog_t1-0015') .addService(googletag.pubads()) .setTargeting('item',['3f6741d4_92ce_455e_b45a_b557e66a978d']) .setTargeting('pos',['dog_t1']) .setTargeting('Topic',['NET_Core','Development']) .setCollapseEmptyDiv(true); googletag.pubads().addEventListener('slotRenderEnded', function (e) { if (!e.isEmpty) { // If the ad is not empty document.getElementById(e.slot.getSlotElementId()).setAttribute('class', 'ad-loaded'); } }); googletag.pubads().enableSingleRequest(); googletag.enableServices(); }); </script> <!-- END Google Partner Tag HEAD CODE --> <!-- BEGIN Olytics HEAD CODE --> <link rel="stylesheet" href="https://web.archive.org/web/20201022100947cs_/https://olytics.omeda.com/olytics/css/v3/p/olytics.css"/> <script type="text/javascript"> window.olytics||(window.olytics=[]),window.olytics.methods=["fire","confirm"],window.olytics.factory=function(i){return function(){var t=Array.prototype.slice.call(arguments);return t.unshift(i),window.olytics.push(t),window.olytics}};for(var i=0;i<window.olytics.methods.length;i++){var method=window.olytics.methods[i];window.olytics[method]=window.olytics.factory(method)}olytics.load=function(i){if(!document.getElementById("olyticsImport")){window.a=window.olytics;var t=document.createElement("script");t.async=!0,t.id="olyticsImport",t.type="text/javascript";var o="";void 0!==i&&void 0!==i.oid&&(o=i.oid),t.setAttribute("data-oid",o),t.src="https://web.archive.org/web/20201022100947/https://olytics.omeda.com/olytics/js/v3/p/olytics.min.js",t.addEventListener("load",function(t){for(olytics.initialize({Olytics:i});window.a.length>0;){var o=window.a.shift(),s=o.shift();olytics[s]&&olytics[s].apply(olytics,o)}},!1);var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(t,s)}},olytics.load({oid:"d158cf08e5844cba89cc42fe00c7776d"}); </script> <script> olytics.fire( { behaviorId: '3237B5780812A4C', topic: 'NET_Core,Development' } ); </script> <!-- END Olytics HEAD CODE --> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <link rel="shortcut icon" href="/web/20201022100947im_/https://visualstudiomagazine.com/design/ECG/VisualStudioMagazine/img/favicon-vsm.ico" type="image/x-icon"/> <link rel="apple-touch-icon" sizes="192x192" type="image/png" href="/web/20201022100947im_/https://visualstudiomagazine.com/design/ECG/VisualStudioMagazine/img/vsm_apple_icon.png"> <link href="https://web.archive.org/web/20201022100947cs_/https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,900&display=swap" rel="stylesheet"> <link rel="stylesheet" href="/web/20201022100947cs_/https://visualstudiomagazine.com/design/ECG/VisualStudioMagazine/css/style.css?v=21"> <script src="/web/20201022100947js_/https://visualstudiomagazine.com/design/ECG/VisualStudioMagazine/js/min/scripts-min.js?v=1"></script> <script src="/web/20201022100947js_/https://visualstudiomagazine.com/design/ECG/VisualStudioMagazine/js/ads.js"></script> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//web.archive.org/web/20201022100947/https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-6779162-24', 'auto'); ga('send', 'pageview'); </script> <script> (function () { _ml = window._ml || {}; _ml.eid = '50202'; _ml.ht = 'shex'; _ml.em = ''; _ml.dm = ''; _ml.informer = { enable: true }; var s = document.getElementsByTagName('script')[0], cd = new Date(), mltag = document.createElement('script'); mltag.type = 'text/javascript'; mltag.async = true; mltag.src = 'https://web.archive.org/web/20201022100947/https://ml314.com/tag.aspx?' + cd.getDate() + cd.getMonth() + cd.getFullYear(); s.parentNode.insertBefore(mltag, s); })(); </script> </head> <body id="Body1"> <form method="post" action="/web/20201022100947/https://visualstudiomagazine.com/articles/2020/08/31/aot-survey.aspx" id="form1" novalidate=""> <div class="aspNetHidden"> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="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"/> </div> <script language="javascript" type="text/javascript"> var id = ''; function FocusSearchBox(ctl) { id = ctl;} function BlurSearchBox() { id = '';} document.onkeypress = function disableKey(e) { var evtobj = window.event ? event : e;var unicode = evtobj.charCode ? evtobj.charCode : evtobj.keyCode;if (unicode == 13) {if (id == '') {window.event.keyCode = 0;} else {document.getElementById("hdnSearch").value = id;document.getElementById(id.replace("txt", "btn")).click();} } } </script> <script src="/web/20201022100947js_/https://visualstudiomagazine.com/ScriptResource.axd?d=uHIkleVeDJf4xS50Krz-yKIbsogxsARipyAFZ-QiowLKCn8ZX1JtCja1u0RrZEEZKxAM5FV4haytxitTtZqqNpmPcKKA3BLDLu9ZENuGQ1JqfEWiAMP7CsbJ3uYqnV6u0i-h3IJxflq0io8vjqviaFadW7U1&t=ffffffffce034dab" type="text/javascript"></script> <script src="/web/20201022100947js_/https://visualstudiomagazine.com/sitecore/shell/Controls/Lib/jQuery/jquery-1.12.4.min.js" type="text/javascript"></script> <div class="aspNetHidden"> <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="A9DC696D"/> </div> <div class="wrapper"> <div class="ad"> <div id="div-gpt-ad-billboard-0001"> <script type="text/javascript"> googletag.cmd.push(function() { googletag.display('div-gpt-ad-billboard-0001'); }); </script> <noscript> <a href="https://web.archive.org/web/20201022100947/https://pubads.g.doubleclick.net/gampad/jump?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dbillboard%26Topic%253dNET_Core%252cDevelopment&sz=1800x450&tile=1&c=123456789" target="_blank"> <img src="https://web.archive.org/web/20201022100947im_/https://pubads.g.doubleclick.net/gampad/ad?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dbillboard%26Topic%253dNET_Core%252cDevelopment&sz=1800x450&tile=1&c=123456789" border="0" alt=""/> </a> </noscript> </div> </div> <noindex> <div id="ph_wrapper2_0_pnlSearch" class="search"> <fieldset> <input name="ph_wrapper2_0$txtSearch" type="text" id="ph_wrapper2_0_txtSearch" onfocus="FocusSearchBox('ph_wrapper2_0_txtSearch')" onblur="BlurSearchBox()"/> <input type="submit" name="ph_wrapper2_0$btnSearch" value="Search" id="ph_wrapper2_0_btnSearch" class="submit" formnovalidate=""/> <input type="hidden" id="hdnSearch" name="hdnSearch" visible="false"/> </fieldset> </div> </noindex> <div class="leaderboard"> <div class="top-ads"> <div class="ad"> <div id="div-gpt-ad-lead_t1-0002"> <script type="text/javascript"> googletag.cmd.push(function() { googletag.display('div-gpt-ad-lead_t1-0002'); }); </script> <noscript> <a href="https://web.archive.org/web/20201022100947/https://pubads.g.doubleclick.net/gampad/jump?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dlead_t1%26Topic%253dNET_Core%252cDevelopment&sz=728x90|970x250&tile=2&c=123456789" target="_blank"> <img src="https://web.archive.org/web/20201022100947im_/https://pubads.g.doubleclick.net/gampad/ad?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dlead_t1%26Topic%253dNET_Core%252cDevelopment&sz=728x90|970x250&tile=2&c=123456789" border="0" alt=""/> </a> </noscript> </div> </div> </div><!-- closing div --> <div class="leaderboardinner"> <h1> <a href="/web/20201022100947/https://visualstudiomagazine.com/"><img alt="Visual Studio Magazine - Expert Solutions for .NET Development" src="/web/20201022100947im_/https://visualstudiomagazine.com/~/media/ECG/visualstudiomagazine/design/vsmlogowhite.ashx"></a> </h1> <img src="/web/20201022100947im_/https://visualstudiomagazine.com/articles/2020/08/31/~/media/ECG/VSLive/landingpage/mobilemenubutton.svg" alt="Open Menu" class="mobile-button"> <img src="/web/20201022100947im_/https://visualstudiomagazine.com/articles/2020/08/31/~/media/ECG/VSLive/2019/lasvegas/mobileclosebutton.svg" alt="Open Menu" class="mobile-closebutton"> <noindex> <!-- component markup start --> <div class="topnav nav"> <ul class="topnavlist"><li class=" home"><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/home.aspx">Home</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/list/news.aspx">News</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/pages/topic-pages/tips-and-how-to.aspx">Tips & How-To</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://1105.dragonforms.com/ONE7131_URMG&PK=WEBDRG" target="_blank">Newsletters</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/whitepapers/list/vsm-tech-library-list.aspx">White Papers</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/webcasts/list/webcast-list.aspx">Webcasts</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://1105ecg.com/pages/vs.aspx" target="_blank">Advertise</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/pages/contact-us.aspx">About Us</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/http://vslive.com/">Events</a></li><li class=" last"><a class="hasChild" href="javascript:void(0);">More</a><ul><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/blogs/tool-tracker/list/blog-list.aspx">.NET Tips and Tricks</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/list/neural-network-lab.aspx">The Data Science Lab</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/list/practical-aspnet.aspx">Practical .NET</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/list/practical-javascript.aspx">The Practical Client</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/blogs/data-driver/list/blog-list.aspx">Data Driver</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/list/c-sharp-corner.aspx">C# Corner</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/list/features.aspx">In-Depth</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/research/list/back-issues.aspx">PDF Back Issues</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/issues/issue-archive.aspx">HTML Issue Archive</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/pages/topic-pages/archive.aspx">Archive</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/list/code.aspx">Code Samples</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/pages/topic-pages/net-tutorials.aspx">.NET</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/list/agile-and-scrum.aspx">Agile/Scrum</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/list/alm.aspx">ALM</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/list/open-source.aspx">Open Source</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/list/sharepoint.aspx">SharePoint</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/list/mono-for-android.aspx">Cross-Platform C#</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/list/mobile-corner.aspx">Mobile Corner</a></li><li class=" last"><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/blogs/vs-live-video/list/blog-list.aspx">Live! Video</a></li></ul></li></ul> <br class="clear"/> </div> <!-- component markup end --> </noindex> <div id="ph_leaderboard4_0_divBlockBox" class="social-top"> <div id="ph_leaderboard4_0_divBody" class="summary"><ul> <li class="social-icon twitter"><a href="https://web.archive.org/web/20201022100947/https://twitter.com/VSMdev" target="_blank"> <img src="/web/20201022100947im_/https://visualstudiomagazine.com/~/media/ECG/redmondmag/design/2019/twitter.svg"></a> </li> <li class="social-icon facebook"><a href="https://web.archive.org/web/20201022100947/https://www.facebook.com/visualstudiomagazine/" target="_blank"> <img src="/web/20201022100947im_/https://visualstudiomagazine.com/~/media/ECG/redmondmag/design/2019/facebook.svg"></a> </li> <li class="social-icon linkedin"><a href="https://web.archive.org/web/20201022100947/https://linkedin.com/company/visual-studio-magazine" target="_blank"> <img src="/web/20201022100947im_/https://visualstudiomagazine.com/~/media/ECG/redmondmag/design/2019/linkedin.svg"></a> </li> <li class="social-icon rss"><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/rss-feeds/rss-list.aspx"> <img src="/web/20201022100947im_/https://visualstudiomagazine.com/~/media/ECG/redmondmag/design/2019/rss.svg"></a> </li> <li class="search-icon"><img src="/web/20201022100947im_/https://visualstudiomagazine.com/~/media/ECG/redmondmag/design/2019/search.svg" class="search-button"></li> <li class="search-icon-close"><img src="/web/20201022100947im_/https://visualstudiomagazine.com/~/media/ECG/redmondmag/design/2019/searchclose.svg" class="search-button-close"></li> </ul> </div> </div> </div><!-- closing div --> <noindex> <!-- component markup start --> <div class="sidenav"> <ul class="topnavlist"><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/pages/topic-pages/visual-studio-tutorials.aspx">Visual Studio</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/pages/topic-pages/visual-studio-code-news-and-how-to.aspx">Visual Studio Code</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/pages/topic-pages/c-sharp-vb-tutorials.aspx">C#/VB</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/pages/topic-pages/net-core.aspx">.NET Core</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/pages/topic-pages/mobile-how-to.aspx">Xamarin/Mobile</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/pages/topic-pages/html5-javascript-tutorials.aspx">TypeScript/Blazor/ASP.NET Core</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/pages/topic-pages/ai-and-machine-learning.aspx">AI/Machine Learning</a></li><li class=" last"><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/pages/topic-pages/azure.aspx">Azure</a></li></ul> <br class="clear"/> </div> <!-- component markup end --> </noindex> </div> <header role="banner" class="header"> </header> <div id="main"> <div class="ad"> <div id="div-gpt-ad-wallpaper_left-0003"> <script type="text/javascript"> googletag.cmd.push(function() { googletag.display('div-gpt-ad-wallpaper_left-0003'); }); </script> <noscript> <a href="https://web.archive.org/web/20201022100947/https://pubads.g.doubleclick.net/gampad/jump?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dwallpaper_left%26Topic%253dNET_Core%252cDevelopment&sz=152x600|152x650&tile=3&c=123456789" target="_blank"> <img src="https://web.archive.org/web/20201022100947im_/https://pubads.g.doubleclick.net/gampad/ad?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dwallpaper_left%26Topic%253dNET_Core%252cDevelopment&sz=152x600|152x650&tile=3&c=123456789" border="0" alt=""/> </a> </noscript> </div> </div> <div class="ad"> <div id="div-gpt-ad-wallpaper_right-0004"> <script type="text/javascript"> googletag.cmd.push(function() { googletag.display('div-gpt-ad-wallpaper_right-0004'); }); </script> <noscript> <a href="https://web.archive.org/web/20201022100947/https://pubads.g.doubleclick.net/gampad/jump?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dwallpaper_right%26Topic%253dNET_Core%252cDevelopment&sz=152x600|152x650&tile=4&c=123456789" target="_blank"> <img src="https://web.archive.org/web/20201022100947im_/https://pubads.g.doubleclick.net/gampad/ad?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dwallpaper_right%26Topic%253dNET_Core%252cDevelopment&sz=152x600|152x650&tile=4&c=123456789" border="0" alt=""/> </a> </noscript> </div> </div> <div class="sideBar"> </div> <div class="pContent"> <div id="level0"> <div id="article"> <p id="ph_pcontent2_0_KickerText" class="kicker"><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/Articles/List/News.aspx">News</a></p> <h3 id="ph_pcontent2_0_MainHeading" class="title">Microsoft Survey: Developers Held Back by Lack of 'Native AOT' in .NET Core</h3> <ul id="ph_pcontent2_0_ByAuthor" class="byline"> <li class="author">By <a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/forms/emailtoauthor.aspx?AuthorItem={53762E17-6187-46B4-8C04-9DFA282EBB67}&ArticleItem={3F6741D4-92CE-455E-B45A-B557E66A978D}">David Ramel</a></li><li class="date">08/31/2020</li> </ul> <div class="introimage"> <img alt="" src="/web/20201022100947im_/https://visualstudiomagazine.com/articles/2020/08/31/~/media/ECG/redmondmag/Images/IntroImages2017/1017red_RedReport_DSCCore.ashx"> </div> <p> Lack of native ahead-of-time (AOT) compilation in .NET Core is a sore spot for Microsoft, which just published results of a survey indicating this missing option is holding developers back from using the framework more. </p> <p> The survey followed numerous complaints from developers, some coming in the comments section about recent .NET 5 preview releases.</p> <p>Previous to these preview releases, Microsoft, in announcing the upcoming .NET 5, had <a href="https://web.archive.org/web/20201022100947/https://devblogs.microsoft.com/dotnet/introducing-net-5/" target="_blank">said</a>: "The default experience for most .NET 5 workloads will be using the JIT-based CoreCLR runtime. The two notable exceptions are iOS and client-side Blazor (web assembly) since both require ahead-of-time (AOT) native compilation." </p> <p> For an example of the complaints about that strategy, in the comments section of July's <a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/07/27/net-5-preview-7.aspx" target="_blank">Preview 7</a> announcement, a developer said: </p> <blockquote><i>Your team cannot be trusted, you kept being evasive/ignoring questions related to AOT, then you finally spoke with .NET 5 preview 5 saying we'll hear more about AOT for preview 7, here is preview 7 and not a single word about AOT.</i></blockquote> <p> In response to such comments, Microsoft conducted a survey on native AOT to get the full story, and published the results last week. One of the questions asked "Does the lack of officially supported native AOT option prevent you from using .NET more?" Among the five answers to that question, the one picked by the largest percentage of developers (35 percent) was: "I would like to write more projects in .NET, but am not able to due to missing native AOT option." </p> <div><figure> <a href="~/media/ECG/visualstudiomagazine/Images/2020/08/aot1.ashx" target="_blank"> <img alt="Does the lack of officially supported native AOT option prevent you from using .NET more?" src="/web/20201022100947im_/https://visualstudiomagazine.com/articles/2020/08/31/~/media/ECG/visualstudiomagazine/Images/2020/08/aot1_s.ashx"> </a> <figcaption> <b>[Click on image for larger view.]</b> "Does the lack of officially supported native AOT option prevent you from using .NET more?" <em>(source: Microsoft).</em></figcaption> </figure></div> <p> Note that in the context of this survey, "native AOT" has a specific meaning. As Microsoft <a href="https://web.archive.org/web/20201022100947/https://devblogs.microsoft.com/dotnet/announcing-net-5-0-preview-8/" target="_blank">said</a> in announcing the recent Preview 8: </p> <blockquote><i>We've seen a lot of comments on previous preview posts asking about the relationship between single file apps and ahead of time (AOT) compilation. AOT is a spectrum. The ready-to-run code that <code>dotnet publish</code> generates (when you set <code>PublishReadyToRun</code> to true) is an example of AOT. When you publish ready-to-run images, the build generates machine code for you, ahead of time, instead of the JIT doing it at runtime. Most people will likely accept this as a definition of AOT. However, many people mean something more specific when they say AOT. They want a solution that has the following characteristics: extremely fast startup, no IL present (for size and obfuscation reasons), a JIT is (at most) optional, and binary size is as small as it can be. We use the term 'native AOT' to describe that point on the AOT spectrum. The single file solution we have in .NET 5.0 doesn't satisfy this definition of AOT. It's a big step forward, but it isn't 'native AOT'. We recently published a survey on Native AOT to get more feedback on that modality. We're looking through the results now and will include them in our 6.0 planning effort.</i></blockquote> <p> Those results, numbering more than 1,400 responses, are presented in the <a href="https://web.archive.org/web/20201022100947/https://github.com/dotnet/runtime/issues/41522" target="_blank">Survey: Native AOT [results]</a> GitHub issue. </p> <p> The survey also asked developers about the experimental .NET Foundation project, <a href="https://web.archive.org/web/20201022100947/https://github.com/dotnet/corert" target="_blank">CoreRT,</a> a repo that contains the .NET Core runtime optimized for AOT. That project is right upfront in saying: "This is an experimental project. We have no plans to productize it in its current form. More details in <a href="https://web.archive.org/web/20201022100947/https://github.com/dotnet/corert/issues/7200" target="_blank">CoreRT future plans</a>." </p> <p> The survey said 439 respondents had tried compiling a .NET application using the CoreRT toolchain. When asked "Overall, how satisfied or dissatisfied are you with CoreRT?" 38 percent of respondents said they were neither satisfied nor dissatisfied, while 36 percent said they were satisfied. </p> <div><figure> <a href="~/media/ECG/visualstudiomagazine/Images/2020/08/aot3.ashx" target="_blank"> <img alt="Overall, how satisfied or dissatisfied are you with CoreRT?" src="/web/20201022100947im_/https://visualstudiomagazine.com/articles/2020/08/31/~/media/ECG/visualstudiomagazine/Images/2020/08/aot3_s.ashx"> </a> <figcaption> <b>[Click on image for larger view.]</b> "Overall, how satisfied or dissatisfied are you with CoreRT?" <em>(source: Microsoft).</em></figcaption> </figure></div> <p> "Lack of official support came through loud and clear," Microsoft said in the post. </p> <p> Other highlights of the survey results include: </p> <ul> <li>"Because of the missing native AOT option, what environment(s) do you use instead?" -- Go/golang and Rust were among the top answers, followed by a whole bunch of others. <div><figure> <a href="~/media/ECG/visualstudiomagazine/Images/2020/08/aot2.ashx" target="_blank"> <img alt="Because of the missing native AOT option, what environment(s) do you use instead?" src="/web/20201022100947im_/https://visualstudiomagazine.com/articles/2020/08/31/~/media/ECG/visualstudiomagazine/Images/2020/08/aot2_s.ashx"> </a> <figcaption> <b>[Click on image for larger view.]</b> "Because of the missing native AOT option, what environment(s) do you use instead?" <em>(source: Microsoft).</em></figcaption> </figure></div> </li> <li>"Why do you use a native AOT technology?" -- Fast startup time was No. 1, followed by "size of the executable."</li> <li>"If you had/have AOT as an option, which workload(s) would you want to use?" -- Command-line tools was the No. 1 answer to this question, followed by GUI and ASP.NET.</li> <li>"Which GUI(s) do you work with?" -- WPF, Winorms and Xamarin were the top three responses.</li> <li>"Which of the following languages do you primarily use to complete day to day work?" -- This was overwhelmingly C#, followed by C/C++ in a distant second place, after which Go, F# and Rust were pretty closely grouped together in subsequent responses.</li> </ul> <p> While it remains to be seen if CoreRT will emerge as an officially supported native AOT option, those aforementioned "<a href="https://web.archive.org/web/20201022100947/https://github.com/dotnet/corert/issues/7200" target="_blank">CoreRT future plans</a>" are still being commented on. </p> <p> One of the most recent comments -- posted before the survey results were released -- reads: "When are we getting results for this survey? I want to use CoreRT in my project, but due to not having official support for it, I didn't get approval for using CoreRT." </p> <!-- pager start --> <!-- pager end --> <div class="aboutAuthor"> <p id="ph_pcontent2_0_AuthorInfo_AboutAuthor" class="author">About the Author</p> <p> <strong></strong> David Ramel is an editor and writer for Converge360. <br/> <a id="ph_pcontent2_0_AuthorInfo_AuthorEmail_0"></a> </p> </div> </div> </div><div class="pagetools"> <noindex> <div id="ph_pcontent5_0_PrintFormat" class="print"> <p><a id="ph_pcontent5_0_Print" href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/Articles/2020/08/31/aot-survey.aspx?p=1" target="_blank">Printable Format</a></p> </div> </noindex> <div id="disqus_thread"></div> <script type="text/javascript"> /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */ var disqus_shortname = 'vsmag'; // required: replace example with your forum shortname var yoink = document.title; var disqus_identifier = 'Title:' + yoink; /* * * DON'T EDIT BELOW THIS LINE * * */ (function() { var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })(); </script> <noscript>Please enable JavaScript to view the <a href="https://web.archive.org/web/20201022100947/http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> <a href="https://web.archive.org/web/20201022100947/http://disqus.com/" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a> <div id="ph_pcontent5_2_divListBox" class="bottomarticles"> <h4 id="ph_pcontent5_2_h4Header" class="L1CommonDLBheader">Featured</h4> <ul> <li id="ph_pcontent5_2_lvItemList_liListItem_0"> <a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/10/21/aws-net-porting-tool.aspx"><img src="/web/20201022100947im_/https://visualstudiomagazine.com/articles/2020/08/31/-/media/ECG/redmondmag/Images/introimages/131202REDMackieDOP.jpg"/></a> <h3 id="ph_pcontent5_2_lvItemList_h3Title_0"><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/10/21/aws-net-porting-tool.aspx">AWS Open Sources Tool for Porting .NET Framework Apps to .NET Core</a></h3> <p id="ph_pcontent5_2_lvItemList_pSummary_0" class="summary"> Leading cloud computing platform Amazon Web Services open sourced the it announced in July for helping users port old .NET Framework applications to the new .NET Core framework. </p> <div class="MemberContentDescription"></div> <div class="MemberContentPurchase"></div> </li> <li id="ph_pcontent5_2_lvItemList_liListItem_1"> <a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/10/20/linux-calculator.aspx"><img src="/web/20201022100947im_/https://visualstudiomagazine.com/articles/2020/08/31/-/media/ECG/visualstudiomagazine/Images/introimages/NewPattern7.jpg"/></a> <h3 id="ph_pcontent5_2_lvItemList_h3Title_1"><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/10/20/linux-calculator.aspx">Uno Platform Ports Windows Calculator to Linux</a></h3> <p id="ph_pcontent5_2_lvItemList_pSummary_1" class="summary"> Uno Platform has ported the famed Windows Calculator, open sourced last year, to Linux as part of a continuing "proof point" effort to demonstrate the reach of what it describes as the sole UI offering available to target Windows, WebAssembly, iOS, macOS, Android and Linux with single-codebase applications coded in C# and XAML. </p> <div class="MemberContentDescription"></div> <div class="MemberContentPurchase"></div> </li> <li id="ph_pcontent5_2_lvItemList_liListItem_2"> <a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/10/20/odata-8.aspx"><img src="/web/20201022100947im_/https://visualstudiomagazine.com/articles/2020/08/31/-/media/ECG/visualstudiomagazine/Images/introimages/BigData.jpg"/></a> <h3 id="ph_pcontent5_2_lvItemList_h3Title_2"><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/10/20/odata-8.aspx">ASP.NET Core OData 8 Preview Supports .NET 5, but with Breaking Changes</a></h3> <p id="ph_pcontent5_2_lvItemList_pSummary_2" class="summary"> ASP.NET Core OData, which debuted in July 2018, is out in a v8.0 preview that for the first time supports the upcoming .NET 5 milestone release. </p> <div class="MemberContentDescription"></div> <div class="MemberContentPurchase"></div> </li> <li id="ph_pcontent5_2_lvItemList_liListItem_3"> <a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/10/19/vs-code-java-best-practices.aspx"><img src="/web/20201022100947im_/https://visualstudiomagazine.com/articles/2020/08/31/-/media/ECG/visualstudiomagazine/Images/IntroImages2016/0816vsm_FilipekCodeB.jpg"/></a> <h3 id="ph_pcontent5_2_lvItemList_h3Title_3"><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/10/19/vs-code-java-best-practices.aspx">VS Code Java Team Details 5 Best Dev Practices</a></h3> <p id="ph_pcontent5_2_lvItemList_pSummary_3" class="summary"> Microsoft's Visual Studio Code team for Java development added a new Coding Pack for Java installer and detailed best practices for setting up a development environment. </p> <div class="MemberContentDescription"></div> <div class="MemberContentPurchase"></div> </li> <li id="ph_pcontent5_2_lvItemList_liListItem_4"> <a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/10/14/pytorch-define-network.aspx"><img src="/web/20201022100947im_/https://visualstudiomagazine.com/articles/2020/08/31/-/media/ECG/visualstudiomagazine/Images/introimages/0313vsm_McCaffreyNeuralNet.jpg"/></a> <h3 id="ph_pcontent5_2_lvItemList_h3Title_4"><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/10/14/pytorch-define-network.aspx">Binary Classification Using PyTorch: Defining a Network</a></h3> <p id="ph_pcontent5_2_lvItemList_pSummary_4" class="summary"> Dr. James McCaffrey of Microsoft Research tackles how to define a network in the second of a series of four articles that present a complete end-to-end production-quality example of binary classification using a PyTorch neural network, including a full Python code sample and data files. </p> <div class="MemberContentDescription"></div> <div class="MemberContentPurchase"></div> </li> </ul> <div id="ph_pcontent5_2_dvPagination" class="pagination"> <ul> </ul> </div> </div> <div class="mobile-flyout"> <div class="mobile-flyout-button">Most Popular</div> <div class="flyout-mask"></div> <div class="flyout-list"> <a class="flyout-close"></a> <noindex> <!-- component markup start --> <div id="popular"> <div class="tabbedFields"> <ul class="tabMenu"> <li><a href="javascript:;">Most Popular Articles</a></li> <li><a href="javascript:;">Most Emailed Articles</a></li> </ul> <!-- content 1 --> <div class="tabContent"> <h3><a id="ph_pcontent10_1_PopularItemsRepeater_StoryHeadlineHyperLink_0" href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/10/20/linux-calculator.aspx">Uno Platform Ports Windows Calculator to Linux</a></h3> <h3><a id="ph_pcontent10_1_PopularItemsRepeater_StoryHeadlineHyperLink_1" href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/10/21/aws-net-porting-tool.aspx">AWS Open Sources Tool for Porting .NET Framework Apps to .NET Core</a></h3> <h3><a id="ph_pcontent10_1_PopularItemsRepeater_StoryHeadlineHyperLink_2" href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/10/20/odata-8.aspx">ASP.NET Core OData 8 Preview Supports .NET 5, but with Breaking Changes</a></h3> <h3><a id="ph_pcontent10_1_PopularItemsRepeater_StoryHeadlineHyperLink_3" href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/10/08/vs-code-1-5.aspx">What's New in Visual Studio Code September 2020 Update</a></h3> <h3><a id="ph_pcontent10_1_PopularItemsRepeater_StoryHeadlineHyperLink_4" href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/10/07/bridge-kubernetes.aspx">Bridge to Kubernetes Simplifies Microservice Development in Visual Studio/VS Code</a></h3> </div> <!-- content 2 --> <div class="tabContent"> </div> </div> </div> <!-- component markup end --> </noindex> <div class="ad"> <div id="div-gpt-ad-mobileflyout-0005"> <script type="text/javascript"> googletag.cmd.push(function() { googletag.display('div-gpt-ad-mobileflyout-0005'); }); </script> <noscript> <a href="https://web.archive.org/web/20201022100947/https://pubads.g.doubleclick.net/gampad/jump?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dmobileflyout%26Topic%253dNET_Core%252cDevelopment&sz=300x250&tile=5&c=123456789" target="_blank"> <img src="https://web.archive.org/web/20201022100947im_/https://pubads.g.doubleclick.net/gampad/ad?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dmobileflyout%26Topic%253dNET_Core%252cDevelopment&sz=300x250&tile=5&c=123456789" border="0" alt=""/> </a> </noscript> </div> </div> </div><!-- closing div --> </div><!-- closing div --> </div><!-- closing div --> </div> <div class="sContent"> <script type="text/javascript"> (function () { var originalValidationSummaryOnSubmit = window.ValidationSummaryOnSubmit; window.ValidationSummaryOnSubmit = function (validationGroup) { var originalScrollTo = window.scrollTo; window.scrollTo = function () { }; originalValidationSummaryOnSubmit(validationGroup); window.scrollTo = originalScrollTo; } } ()); function ValidateCheckBoxList(sender, args) { var checkBoxList = document.getElementById(sender.attributes.checkboxlistclientid.nodeValue); var checkboxes = checkBoxList.getElementsByTagName("input"); var isValid = false; for (var i = 0; i < checkboxes.length; i++) { if (checkboxes[i].checked) { isValid = true; break; } } args.IsValid = isValid; } function GDPRValidation(oSrouce, args) { var rb = document.getElementById("ph_scontent1_0_rblGDPR"); var radio = rb.getElementsByTagName("input"); args.IsValid = false; for (var i = 0; i < radio.length; i++) { if (radio[i].checked) { args.IsValid = true; break; } } } </script> <div id="omedaDynamicForm"> <div id="ph_scontent1_0_OmedaDynamicFormPanel"> <div id="ph_scontent1_0_dvOmedaDynamicForm" class="newsletter-form"> <div id="ph_scontent1_0_dvOmedaDynamicFormFields" class="omedaDynamicFormFields"> <div id="form-header"> <div class="pubname">.NET Insight</div> <div class="signupheader">Sign up for our newsletter.</div> </div> <span id="ph_scontent1_0_lblEmail_Address01" class="omedaDynamicFormLabel" for="txtEmail_Address01">Email Address*</span><input name="ph_scontent1_0$txtEmail_Address01" type="text" id="ph_scontent1_0_txtEmail_Address01" class="omedaDynamicFormInput" placeholder="Email Address*" lcsquestionid="1"/><span id="ph_scontent1_0_lblCountry02" class="omedaDynamicFormLabel" for="ddlCountry02">Country*</span><select name="ph_scontent1_0$ddlCountry02" id="ph_scontent1_0_ddlCountry02" class="omedaDynamicFormDropDown" placeholder="Country*" lcsquestionid="3"> <option selected="selected" value="" isgdpr="False" isus="False"></option> <option value="USA" isgdpr="False" isus="True">United States of America</option> <option value="AFG" isgdpr="False" isus="False">Afghanistan</option> <option value="ALA" isgdpr="False" isus="False">Åland Islands</option> <option value="ALB" isgdpr="False" isus="False">Albania</option> <option value="DZA" isgdpr="False" isus="False">Algeria</option> <option value="ASM" isgdpr="False" isus="False">American Samoa</option> <option value="AND" isgdpr="False" isus="False">Andorra</option> <option value="AGO" isgdpr="False" isus="False">Angola</option> <option value="AIA" isgdpr="False" isus="False">Anguilla</option> <option value="ATA" isgdpr="False" isus="False">Antarctica</option> <option value="ATG" isgdpr="False" isus="False">Antigua and Barbuda</option> <option value="ARG" isgdpr="False" isus="False">Argentina</option> <option value="ARM" isgdpr="False" isus="False">Armenia</option> <option value="ABW" isgdpr="False" isus="False">Aruba</option> <option value="AUS" isgdpr="False" isus="False">Australia</option> <option value="AZE" isgdpr="False" isus="False">Azerbaijan</option> <option value="AUT" isgdpr="True" isus="False">Austria</option> <option value="BHS" isgdpr="False" isus="False">Bahamas</option> <option value="BHR" isgdpr="False" isus="False">Bahrain</option> <option value="BGD" isgdpr="False" isus="False">Bangladesh</option> <option value="BRB" isgdpr="False" isus="False">Barbados</option> <option value="BLR" isgdpr="False" isus="False">Belarus</option> <option value="BEL" isgdpr="True" isus="False">Belgium</option> <option value="BLZ" isgdpr="False" isus="False">Belize</option> <option value="BEN" isgdpr="False" isus="False">Benin</option> <option value="BMU" isgdpr="False" isus="False">Bermuda</option> <option value="BTN" isgdpr="False" isus="False">Bhutan</option> <option value="BOL" isgdpr="False" isus="False">Bolivia, Plurinational State of</option> <option value="BES" isgdpr="False" isus="False">Bonaire, Sint Eustatius and Saba</option> <option value="BIH" isgdpr="False" isus="False">Bosnia and Herzegovina</option> <option value="BWA" isgdpr="False" isus="False">Botswana</option> <option value="BVT" isgdpr="False" isus="False">Bouvet Island</option> <option value="BRA" isgdpr="False" isus="False">Brazil</option> <option value="IOT" isgdpr="False" isus="False">British Indian Ocean Territory</option> <option value="BRN" isgdpr="False" isus="False">Brunei Darussalam</option> <option value="BGR" isgdpr="True" isus="False">Bulgaria</option> <option value="BFA" isgdpr="False" isus="False">Burkina Faso</option> <option value="BDI" isgdpr="False" isus="False">Burundi</option> <option value="KHM" isgdpr="False" isus="False">Cambodia</option> <option value="CMR" isgdpr="False" isus="False">Cameroon</option> <option value="CAN" isgdpr="False" isus="False">Canada</option> <option value="CPV" isgdpr="False" isus="False">Cape Verde (Cabo Verde)</option> <option value="CYM" isgdpr="False" isus="False">Cayman Islands</option> <option value="CUW" isgdpr="False" isus="False">Curaçao</option> <option value="CAF" isgdpr="False" isus="False">Central African Republic</option> <option value="TCD" isgdpr="False" isus="False">Chad</option> <option value="CHL" isgdpr="False" isus="False">Chile</option> <option value="CHN" isgdpr="False" isus="False">China</option> <option value="CXR" isgdpr="False" isus="False">Christmas Island</option> <option value="CCK" isgdpr="False" isus="False">Cocos (Keeling) Islands</option> <option value="COL" isgdpr="False" isus="False">Colombia</option> <option value="COM" isgdpr="False" isus="False">Comoros</option> <option value="COG" isgdpr="False" isus="False">Congo</option> <option value="COD" isgdpr="False" isus="False">Congo, the Democratic Republic of the</option> <option value="COK" isgdpr="False" isus="False">Cook Islands</option> <option value="CRI" isgdpr="False" isus="False">Costa Rica</option> <option value="CIV" isgdpr="False" isus="False">Côte d'Ivoire</option> <option value="HRV" isgdpr="True" isus="False">Croatia</option> <option value="CUB" isgdpr="False" isus="False">Cuba</option> <option value="CYP" isgdpr="True" isus="False">Cyprus</option> <option value="CZE" isgdpr="True" isus="False">Czech Republic</option> <option value="DNK" isgdpr="True" isus="False">Denmark</option> <option value="DJI" isgdpr="False" isus="False">Djibouti</option> <option value="DMA" isgdpr="False" isus="False">Dominica</option> <option value="DOM" isgdpr="False" isus="False">Dominican Republic</option> <option value="ECU" isgdpr="False" isus="False">Ecuador</option> <option value="EGY" isgdpr="False" isus="False">Egypt</option> <option value="SLV" isgdpr="False" isus="False">El Salvador</option> <option value="GNQ" isgdpr="False" isus="False">Equatorial Guinea</option> <option value="ERI" isgdpr="False" isus="False">Eritrea</option> <option value="EST" isgdpr="True" isus="False">Estonia</option> <option value="ETH" isgdpr="False" isus="False">Ethiopia</option> <option value="FLK" isgdpr="False" isus="False">Falkland Islands (Malvinas)</option> <option value="FRO" isgdpr="False" isus="False">Faroe Islands</option> <option value="FJI" isgdpr="False" isus="False">Fiji</option> <option value="FIN" isgdpr="True" isus="False">Finland</option> <option value="FRA" isgdpr="True" isus="False">France</option> <option value="GUF" isgdpr="False" isus="False">French Guiana</option> <option value="PYF" isgdpr="False" isus="False">French Polynesia</option> <option value="ATF" isgdpr="False" isus="False">French Southern Territories</option> <option value="GAB" isgdpr="False" isus="False">Gabon</option> <option value="GMB" isgdpr="False" isus="False">Gambia</option> <option value="GEO" isgdpr="False" isus="False">Georgia</option> <option value="DEU" isgdpr="True" isus="False">Germany</option> <option value="GHA" isgdpr="False" isus="False">Ghana</option> <option value="GIB" isgdpr="False" isus="False">Gibraltar</option> <option value="GRC" isgdpr="True" isus="False">Greece</option> <option value="GRL" isgdpr="False" isus="False">Greenland</option> <option value="GRD" isgdpr="False" isus="False">Grenada</option> <option value="GLP" isgdpr="False" isus="False">Guadeloupe</option> <option value="GUM" isgdpr="False" isus="False">Guam</option> <option value="GTM" isgdpr="False" isus="False">Guatemala</option> <option value="GGY" isgdpr="False" isus="False">Guernsey</option> <option value="GIN" isgdpr="False" isus="False">Guinea</option> <option value="GNB" isgdpr="False" isus="False">Guinea-Bissau</option> <option value="GUY" isgdpr="False" isus="False">Guyana</option> <option value="HTI" isgdpr="False" isus="False">Haiti</option> <option value="HMD" isgdpr="False" isus="False">Heard Island and McDonald Islands</option> <option value="VAT" isgdpr="False" isus="False">Holy See (Vatican City State)</option> <option value="HND" isgdpr="False" isus="False">Honduras</option> <option value="HKG" isgdpr="False" isus="False">Hong Kong</option> <option value="HUN" isgdpr="True" isus="False">Hungary</option> <option value="ISL" isgdpr="True" isus="False">Iceland</option> <option value="IND" isgdpr="False" isus="False">India</option> <option value="IDN" isgdpr="False" isus="False">Indonesia</option> <option value="IRN" isgdpr="False" isus="False">Iran, Islamic Republic of</option> <option value="IRQ" isgdpr="False" isus="False">Iraq</option> <option value="IRL" isgdpr="True" isus="False">Ireland</option> <option value="IMN" isgdpr="True" isus="False">Isle of Man</option> <option value="ISR" isgdpr="False" isus="False">Israel</option> <option value="ITA" isgdpr="True" isus="False">Italy</option> <option value="JAM" isgdpr="False" isus="False">Jamaica</option> <option value="JPN" isgdpr="False" isus="False">Japan</option> <option value="JEY" isgdpr="False" isus="False">Jersey</option> <option value="JOR" isgdpr="False" isus="False">Jordan</option> <option value="KAZ" isgdpr="False" isus="False">Kazakhstan</option> <option value="KEN" isgdpr="False" isus="False">Kenya</option> <option value="KIR" isgdpr="False" isus="False">Kiribati</option> <option value="PRK" isgdpr="False" isus="False">Korea, Democratic People's Republic of</option> <option value="KOR" isgdpr="False" isus="False">Korea, Republic of</option> <option value="KWT" isgdpr="False" isus="False">Kuwait</option> <option value="KGZ" isgdpr="False" isus="False">Kyrgyzstan</option> <option value="LAO" isgdpr="False" isus="False">Lao People's Democratic Republic</option> <option value="LVA" isgdpr="True" isus="False">Latvia</option> <option value="LBN" isgdpr="False" isus="False">Lebanon</option> <option value="LSO" isgdpr="False" isus="False">Lesotho</option> <option value="LBR" isgdpr="False" isus="False">Liberia</option> <option value="LBY" isgdpr="False" isus="False">Libya</option> <option value="LIE" isgdpr="True" isus="False">Liechtenstein</option> <option value="LTU" isgdpr="True" isus="False">Lithuania</option> <option value="LUX" isgdpr="True" isus="False">Luxembourg</option> <option value="MAC" isgdpr="False" isus="False">Macao</option> <option value="MKD" isgdpr="False" isus="False">Macedonia, the former Yugoslav Republic of</option> <option value="MDG" isgdpr="False" isus="False">Madagascar</option> <option value="MWI" isgdpr="False" isus="False">Malawi</option> <option value="MYS" isgdpr="False" isus="False">Malaysia</option> <option value="MDV" isgdpr="False" isus="False">Maldives</option> <option value="MLI" isgdpr="False" isus="False">Mali</option> <option value="MLT" isgdpr="True" isus="False">Malta</option> <option value="MHL" isgdpr="False" isus="False">Marshall Islands</option> <option value="MTQ" isgdpr="False" isus="False">Martinique</option> <option value="MRT" isgdpr="False" isus="False">Mauritania</option> <option value="MUS" isgdpr="False" isus="False">Mauritius</option> <option value="MYT" isgdpr="False" isus="False">Mayotte</option> <option value="MEX" isgdpr="False" isus="False">Mexico</option> <option value="FSM" isgdpr="False" isus="False">Micronesia, Federated States of</option> <option value="MDA" isgdpr="False" isus="False">Moldova, Republic of</option> <option value="MCO" isgdpr="False" isus="False">Monaco</option> <option value="MNG" isgdpr="False" isus="False">Mongolia</option> <option value="MNE" isgdpr="False" isus="False">Montenegro</option> <option value="MSR" isgdpr="False" isus="False">Montserrat</option> <option value="MAR" isgdpr="False" isus="False">Morocco</option> <option value="MOZ" isgdpr="False" isus="False">Mozambique</option> <option value="MMR" isgdpr="False" isus="False">Myanmar</option> <option value="NAM" isgdpr="False" isus="False">Namibia</option> <option value="NRU" isgdpr="False" isus="False">Nauru</option> <option value="NPL" isgdpr="False" isus="False">Nepal</option> <option value="NLD" isgdpr="True" isus="False">Netherlands</option> <option value="NCL" isgdpr="False" isus="False">New Caledonia</option> <option value="NZL" isgdpr="False" isus="False">New Zealand</option> <option value="NIC" isgdpr="False" isus="False">Nicaragua</option> <option value="NER" isgdpr="False" isus="False">Niger</option> <option value="NGA" isgdpr="False" isus="False">Nigeria</option> <option value="NIU" isgdpr="False" isus="False">Niue</option> <option value="NFK" isgdpr="False" isus="False">Norfolk Island</option> <option value="MNP" isgdpr="False" isus="False">Northern Mariana Islands</option> <option value="NOR" isgdpr="True" isus="False">Norway</option> <option value="PAK" isgdpr="False" isus="False">Pakistan</option> <option value="OMN" isgdpr="False" isus="False">Oman</option> <option value="PLW" isgdpr="False" isus="False">Palau</option> <option value="PSE" isgdpr="False" isus="False">Palestinian Territory, Occupied</option> <option value="PAN" isgdpr="False" isus="False">Panama</option> <option value="PRY" isgdpr="False" isus="False">Paraguay</option> <option value="PNG" isgdpr="False" isus="False">Papua New Guinea</option> <option value="PER" isgdpr="False" isus="False">Peru</option> <option value="PHL" isgdpr="False" isus="False">Philippines</option> <option value="PCN" isgdpr="False" isus="False">Pitcairn</option> <option value="POL" isgdpr="True" isus="False">Poland</option> <option value="PRT" isgdpr="True" isus="False">Portugal</option> <option value="PRI" isgdpr="False" isus="False">Puerto Rico</option> <option value="QAT" isgdpr="False" isus="False">Qatar</option> <option value="REU" isgdpr="False" isus="False">Réunion</option> <option value="ROU" isgdpr="True" isus="False">Romania</option> <option value="RUS" isgdpr="False" isus="False">Russian Federation</option> <option value="RWA" isgdpr="False" isus="False">Rwanda</option> <option value="BLM" isgdpr="False" isus="False">Saint Barthélemy</option> <option value="SHN" isgdpr="False" isus="False">Saint Helena, Ascension and Tristan da Cunha</option> <option value="KNA" isgdpr="False" isus="False">Saint Kitts and Nevis</option> <option value="LCA" isgdpr="False" isus="False">Saint Lucia</option> <option value="MAF" isgdpr="False" isus="False">Saint Martin (French part)</option> <option value="SPM" isgdpr="False" isus="False">Saint Pierre and Miquelon</option> <option value="VCT" isgdpr="False" isus="False">Saint Vincent and the Grenadines</option> <option value="WSM" isgdpr="False" isus="False">Samoa</option> <option value="SMR" isgdpr="False" isus="False">San Marino</option> <option value="STP" isgdpr="False" isus="False">Sao Tome and Principe</option> <option value="SAU" isgdpr="False" isus="False">Saudi Arabia</option> <option value="SEN" isgdpr="False" isus="False">Senegal</option> <option value="SRB" isgdpr="False" isus="False">Serbia</option> <option value="SYC" isgdpr="False" isus="False">Seychelles</option> <option value="SLE" isgdpr="False" isus="False">Sierra Leone</option> <option value="SGP" isgdpr="False" isus="False">Singapore</option> <option value="SXM" isgdpr="False" isus="False">Sint Maarten (Dutch part)</option> <option value="SVK" isgdpr="True" isus="False">Slovakia</option> <option value="SVN" isgdpr="True" isus="False">Slovenia</option> <option value="SLB" isgdpr="False" isus="False">Solomon Islands</option> <option value="SOM" isgdpr="False" isus="False">Somalia</option> <option value="ZAF" isgdpr="False" isus="False">South Africa</option> <option value="SGS" isgdpr="False" isus="False">South Georgia and the South Sandwich Islands</option> <option value="SSD" isgdpr="False" isus="False">South Sudan</option> <option value="ESP" isgdpr="False" isus="False">Spain</option> <option value="LKA" isgdpr="False" isus="False">Sri Lanka</option> <option value="SDN" isgdpr="False" isus="False">Sudan</option> <option value="SUR" isgdpr="False" isus="False">Suriname</option> <option value="SJM" isgdpr="False" isus="False">Svalbard and Jan Mayen</option> <option value="SWZ" isgdpr="False" isus="False">Eswatini (Swaziland)</option> <option value="SWE" isgdpr="False" isus="False">Sweden</option> <option value="CHE" isgdpr="False" isus="False">Switzerland</option> <option value="SYR" isgdpr="False" isus="False">Syrian Arab Republic</option> <option value="TWN" isgdpr="False" isus="False">Taiwan, Province of China</option> <option value="TJK" isgdpr="False" isus="False">Tajikistan</option> <option value="TZA" isgdpr="False" isus="False">Tanzania, United Republic of</option> <option value="THA" isgdpr="False" isus="False">Thailand</option> <option value="TLS" isgdpr="False" isus="False">Timor-Leste</option> <option value="TGO" isgdpr="False" isus="False">Togo</option> <option value="TKL" isgdpr="False" isus="False">Tokelau</option> <option value="TON" isgdpr="False" isus="False">Tonga</option> <option value="TTO" isgdpr="False" isus="False">Trinidad and Tobago</option> <option value="TUN" isgdpr="False" isus="False">Tunisia</option> <option value="TUR" isgdpr="False" isus="False">Turkey</option> <option value="TKM" isgdpr="False" isus="False">Turkmenistan</option> <option value="TCA" isgdpr="False" isus="False">Turks and Caicos Islands</option> <option value="TUV" isgdpr="False" isus="False">Tuvalu</option> <option value="UGA" isgdpr="False" isus="False">Uganda</option> <option value="UKR" isgdpr="False" isus="False">Ukraine</option> <option value="ARE" isgdpr="False" isus="False">United Arab Emirates</option> <option value="GBR" isgdpr="True" isus="False">United Kingdom</option> <option value="UMI" isgdpr="False" isus="False">United States Minor Outlying Islands</option> <option value="URY" isgdpr="False" isus="False">Uruguay</option> <option value="UZB" isgdpr="False" isus="False">Uzbekistan</option> <option value="VUT" isgdpr="False" isus="False">Vanuatu</option> <option value="VNM" isgdpr="False" isus="False">Viet Nam</option> <option value="VEN" isgdpr="False" isus="False">Venezuela, Bolivarian Republic of</option> <option value="VGB" isgdpr="False" isus="False">Virgin Islands, British</option> <option value="VIR" isgdpr="False" isus="False">Virgin Islands, U.S.</option> <option value="WLF" isgdpr="False" isus="False">Wallis and Futuna</option> <option value="ESH" isgdpr="False" isus="False">Western Sahara</option> <option value="YEM" isgdpr="False" isus="False">Yemen</option> <option value="ZMB" isgdpr="False" isus="False">Zambia</option> <option value="ZWE" isgdpr="False" isus="False">Zimbabwe</option> </select><div id="form-footer"> <div class="agreement">I agree to this site's <a href="https://web.archive.org/web/20201022100947/https://1105media.com/pages/privacy-policy.aspx" target="_blank">Privacy Policy</a></div> </div> </div> <input type="submit" name="ph_scontent1_0$btnSubmit" value="Submit" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ph_scontent1_0$btnSubmit", "", true, "OmedaDynamicForm", "", false, false))" id="ph_scontent1_0_btnSubmit"/> </div> </div> </div> <div class="ad"> <div id="div-gpt-ad-box_r1-0006"> <script type="text/javascript"> googletag.cmd.push(function() { googletag.display('div-gpt-ad-box_r1-0006'); }); </script> <noscript> <a href="https://web.archive.org/web/20201022100947/https://pubads.g.doubleclick.net/gampad/jump?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dbox_r1%26Topic%253dNET_Core%252cDevelopment&sz=300x250|1x1|300x600&tile=6&c=123456789" target="_blank"> <img src="https://web.archive.org/web/20201022100947im_/https://pubads.g.doubleclick.net/gampad/ad?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dbox_r1%26Topic%253dNET_Core%252cDevelopment&sz=300x250|1x1|300x600&tile=6&c=123456789" border="0" alt=""/> </a> </noscript> </div> </div> <noindex> <!-- component markup start --> <div id="popular"> <div class="tabbedFields"> <ul class="tabMenu"> <li><a href="javascript:;">Most Popular Articles</a></li> <li><a href="javascript:;">Most Emailed Articles</a></li> </ul> <!-- content 1 --> <div class="tabContent"> <h3><a id="ph_pcontent10_1_PopularItemsRepeater_StoryHeadlineHyperLink_0" href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/10/20/linux-calculator.aspx">Uno Platform Ports Windows Calculator to Linux</a></h3> <h3><a id="ph_pcontent10_1_PopularItemsRepeater_StoryHeadlineHyperLink_1" href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/10/21/aws-net-porting-tool.aspx">AWS Open Sources Tool for Porting .NET Framework Apps to .NET Core</a></h3> <h3><a id="ph_pcontent10_1_PopularItemsRepeater_StoryHeadlineHyperLink_2" href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/10/20/odata-8.aspx">ASP.NET Core OData 8 Preview Supports .NET 5, but with Breaking Changes</a></h3> <h3><a id="ph_pcontent10_1_PopularItemsRepeater_StoryHeadlineHyperLink_3" href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/10/08/vs-code-1-5.aspx">What's New in Visual Studio Code September 2020 Update</a></h3> <h3><a id="ph_pcontent10_1_PopularItemsRepeater_StoryHeadlineHyperLink_4" href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/10/07/bridge-kubernetes.aspx">Bridge to Kubernetes Simplifies Microservice Development in Visual Studio/VS Code</a></h3> </div> <!-- content 2 --> <div class="tabContent"> </div> </div> </div> <!-- component markup end --> </noindex> <div class="ad"> <div id="div-gpt-ad-box_r2-0007"> <script type="text/javascript"> googletag.cmd.push(function() { googletag.display('div-gpt-ad-box_r2-0007'); }); </script> <noscript> <a href="https://web.archive.org/web/20201022100947/https://pubads.g.doubleclick.net/gampad/jump?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dbox_r2%26Topic%253dNET_Core%252cDevelopment&sz=300x250|1x1|300x600&tile=7&c=123456789" target="_blank"> <img src="https://web.archive.org/web/20201022100947im_/https://pubads.g.doubleclick.net/gampad/ad?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dbox_r2%26Topic%253dNET_Core%252cDevelopment&sz=300x250|1x1|300x600&tile=7&c=123456789" border="0" alt=""/> </a> </noscript> </div> </div> <div class="ad"> <div id="div-gpt-ad-box_r3-0008"> <script type="text/javascript"> googletag.cmd.push(function() { googletag.display('div-gpt-ad-box_r3-0008'); }); </script> <noscript> <a href="https://web.archive.org/web/20201022100947/https://pubads.g.doubleclick.net/gampad/jump?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dbox_r3%26Topic%253dNET_Core%252cDevelopment&sz=300x250|1x1|300x600&tile=8&c=123456789" target="_blank"> <img src="https://web.archive.org/web/20201022100947im_/https://pubads.g.doubleclick.net/gampad/ad?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dbox_r3%26Topic%253dNET_Core%252cDevelopment&sz=300x250|1x1|300x600&tile=8&c=123456789" border="0" alt=""/> </a> </noscript> </div> </div> <div id="ph_scontent3_1_divListBox" class="featured-free-whitepapers module"> <h3 id="ph_scontent3_1_h3Header">Free Webcasts</h3> <ul id="ph_scontent3_1_lvOuterList_ulListItem_0"> <li id="ph_scontent3_1_lvOuterList_lvItemList_0_liListItem_0"> <a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/webcasts/2020/09/couchbase-oct22.aspx?tc=page0">Be A DBaaS Badass</a> <p id="ph_scontent3_1_lvOuterList_lvItemList_0_pSummary_0" class="summary"> </p> </li> <li id="ph_scontent3_1_lvOuterList_lvItemList_0_liListItem_1"> <a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/webcasts/2020/08/cloudflare-august-19.aspx?tc=page0">Application Layer Attack Trends Through the Lens of Cloudflare Data</a> <p id="ph_scontent3_1_lvOuterList_lvItemList_0_pSummary_1" class="summary"> </p> </li> </ul> <p id="ph_scontent3_1_pFooter" class="footer"><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/webcasts/list/webcast-list.aspx">> More Webcasts</a></p> </div> <div class="ad"> <div id="div-gpt-ad-box_r4-0009"> <script type="text/javascript"> googletag.cmd.push(function() { googletag.display('div-gpt-ad-box_r4-0009'); }); </script> <noscript> <a href="https://web.archive.org/web/20201022100947/https://pubads.g.doubleclick.net/gampad/jump?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dbox_r4%26Topic%253dNET_Core%252cDevelopment&sz=300x250|1x1|300x600&tile=9&c=123456789" target="_blank"> <img src="https://web.archive.org/web/20201022100947im_/https://pubads.g.doubleclick.net/gampad/ad?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dbox_r4%26Topic%253dNET_Core%252cDevelopment&sz=300x250|1x1|300x600&tile=9&c=123456789" border="0" alt=""/> </a> </noscript> </div> </div> <div id="ph_scontent3_3_divBlockBox" class="calendar-listing"> <div id="ph_scontent3_3_divBody" class="summary"><div class="upcoming-events">Upcoming Events</div> <ul> <li> <a href="https://web.archive.org/web/20201022100947/https://vslive.com/events/training-seminars/2020/sept30/home.aspx">Training Seminar: Virtual</a><br> September 30, 2020 </li> <li> <a href="https://web.archive.org/web/20201022100947/https://vslive.com/events/training-seminars/2020/dc/home.aspx">Training Seminar: Virtual</a><br> October 15-16, 2020 </li> <li> <a href="https://web.archive.org/web/20201022100947/https://vslive.com/events/virtcon/home.aspx">Visual Studio Live! VirtCon</a><br> December 1-3, 2020 </li> <li> <a href="https://web.archive.org/web/20201022100947/https://vslive.com/events/training-seminars/2020/san-francisco/home.aspx">Training Seminar: San Francisco</a><br> December 10-11, 2020<br> San Francisco, CA </li> <li> <a href="https://web.archive.org/web/20201022100947/https://vslive.com/events/las-vegas-2021/home.aspx">Visual Studio Live! Las Vegas</a><br> February 28-March 5, 2021<br> Las Vegas, NV </li> <li> <a href="https://web.archive.org/web/20201022100947/https://vslive.com/events/austin-2021/home.aspx">Visual Studio Live! Austin</a><br> May 10-14, 2021<br> Austin, TX </li> <li> <a href="https://web.archive.org/web/20201022100947/https://vslive.com/events/redmond-2021/home.aspx">Visual Studio Live! Microsoft HQ</a><br> August 9-13 2021<br> Redmond, WA </li> <li> <a href="https://web.archive.org/web/20201022100947/https://vslive.com/events/san-diego-2021">Visual Studio Live! San Diego</a><br> September 12-16, 2021<br> San Diego, CA </li> <li> <a href="https://web.archive.org/web/20201022100947/https://live360events.com/events/orlando-2021/Home.aspx">Live! 360 Orlando</a><br> November 14-19, 2021<br> Orlando, FL </li> </ul></div> </div> <div class="ad"> <div id="div-gpt-ad-box_r5-0010"> <script type="text/javascript"> googletag.cmd.push(function() { googletag.display('div-gpt-ad-box_r5-0010'); }); </script> <noscript> <a href="https://web.archive.org/web/20201022100947/https://pubads.g.doubleclick.net/gampad/jump?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dbox_r5%26Topic%253dNET_Core%252cDevelopment&sz=300x250|1x1|300x600&tile=10&c=123456789" target="_blank"> <img src="https://web.archive.org/web/20201022100947im_/https://pubads.g.doubleclick.net/gampad/ad?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dbox_r5%26Topic%253dNET_Core%252cDevelopment&sz=300x250|1x1|300x600&tile=10&c=123456789" border="0" alt=""/> </a> </noscript> </div> </div> <div class="ad"> <div id="div-gpt-ad-box_r6-0011"> <script type="text/javascript"> googletag.cmd.push(function() { googletag.display('div-gpt-ad-box_r6-0011'); }); </script> <noscript> <a href="https://web.archive.org/web/20201022100947/https://pubads.g.doubleclick.net/gampad/jump?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dbox_r6%26Topic%253dNET_Core%252cDevelopment&sz=300x250|1x1|300x600&tile=11&c=123456789" target="_blank"> <img src="https://web.archive.org/web/20201022100947im_/https://pubads.g.doubleclick.net/gampad/ad?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dbox_r6%26Topic%253dNET_Core%252cDevelopment&sz=300x250|1x1|300x600&tile=11&c=123456789" border="0" alt=""/> </a> </noscript> </div> </div> <div class="ad"> <div id="div-gpt-ad-right_300x150-0012"> <script type="text/javascript"> googletag.cmd.push(function() { googletag.display('div-gpt-ad-right_300x150-0012'); }); </script> <noscript> <a href="https://web.archive.org/web/20201022100947/https://pubads.g.doubleclick.net/gampad/jump?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dright_300x150%26Topic%253dNET_Core%252cDevelopment&sz=300x150&tile=12&c=123456789" target="_blank"> <img src="https://web.archive.org/web/20201022100947im_/https://pubads.g.doubleclick.net/gampad/ad?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dright_300x150%26Topic%253dNET_Core%252cDevelopment&sz=300x150&tile=12&c=123456789" border="0" alt=""/> </a> </noscript> </div> </div> </div> <div class="xContent"> </div> </div> <footer role="contentinfo" class="footer"> <noindex> <!-- component markup start --> <div class="footer1 nav"> <ul class="footerlist"><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/pages/contact-us.aspx">Contact Us</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://1105ecg.com/pages/vs.aspx" target="_blank">Advertise</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://vslive.com/home.aspx">Events</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/issues/issue-archive.aspx">Print Issues Online</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://1105.dragonforms.com/ONE7131_URMG&PK=WEBDRG">Free Newsletters</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/pages/sitemap.aspx">Site Map</a></li><li class=""><a href="https://web.archive.org/web/20201022100947/http://1105reprints.com/" target="_blank">Reprints</a></li><li class=" last"><a href="https://web.archive.org/web/20201022100947/https://www.meritdirect.com/1105-media/" target="_blank">List Rental</a></li></ul> <br class="clear"/> </div> <!-- component markup end --> </noindex> <div class="ad"> <div id="div-gpt-ad-boot_desktop-0013"> <script type="text/javascript"> googletag.cmd.push(function() { googletag.display('div-gpt-ad-boot_desktop-0013'); }); </script> <noscript> <a href="https://web.archive.org/web/20201022100947/https://pubads.g.doubleclick.net/gampad/jump?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dboot_desktop%26Topic%253dNET_Core%252cDevelopment&sz=250x90&tile=13&c=123456789" target="_blank"> <img src="https://web.archive.org/web/20201022100947im_/https://pubads.g.doubleclick.net/gampad/ad?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dboot_desktop%26Topic%253dNET_Core%252cDevelopment&sz=250x90&tile=13&c=123456789" border="0" alt=""/> </a> </noscript> </div> </div> <div class="ad"> <div id="div-gpt-ad-boot_mobile-0014"> <script type="text/javascript"> googletag.cmd.push(function() { googletag.display('div-gpt-ad-boot_mobile-0014'); }); </script> <noscript> <a href="https://web.archive.org/web/20201022100947/https://pubads.g.doubleclick.net/gampad/jump?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dboot_mobile%26Topic%253dNET_Core%252cDevelopment&sz=1024x90|1x1&tile=14&c=123456789" target="_blank"> <img src="https://web.archive.org/web/20201022100947im_/https://pubads.g.doubleclick.net/gampad/ad?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253dboot_mobile%26Topic%253dNET_Core%252cDevelopment&sz=1024x90|1x1&tile=14&c=123456789" border="0" alt=""/> </a> </noscript> </div> </div> <div class="footer-inner"> <!--THIS FOOTER LOGO BOX IS LOCATED HERE AND IS SHARED ACROSS ALL 1105 MEDIA CONVERGE SITES: /sitecore/content/Home/ECG/Converge360/Content Blocks/Site Scripts/footer logos--> <a href="https://web.archive.org/web/20201022100947/https://converge360.com/Home.aspx" class="converge-logo" target="_blank"><img src="/web/20201022100947im_/https://visualstudiomagazine.com/articles/2020/08/31/~/media/ECG/Converge360/design/converge360_logo_bottom.png"> </a> <a href="https://web.archive.org/web/20201022100947/https://1105media.com/Home.aspx" class="corporate-logo" target="_blank"><img src="/web/20201022100947im_/https://visualstudiomagazine.com/articles/2020/08/31/~/media/ECG/Converge360/design/1105companylogo.png"> </a> <div class="voting"> <a href="https://web.archive.org/web/20201022100947/https://employeesvote.com/about" target="_blank"><img src="/web/20201022100947im_/https://visualstudiomagazine.com/articles/2020/08/31/~/media/ECG/Converge360/design/employeesvote.ashx" class="employeevote"></a> <a href="https://web.archive.org/web/20201022100947/https://www.vote.org/" target="_blank"><img src="/web/20201022100947im_/https://visualstudiomagazine.com/articles/2020/08/31/~/media/ECG/Converge360/design/voteorg.ashx" class="voteorg"></a> </div> <noindex> <!-- component markup start --> <div class="footer-sites nav"> <ul class="footerlist"><li class=" adtmag-nav-link"><a href="https://web.archive.org/web/20201022100947/https://adtmag.com/home.aspx" target="_blank">Application Development Trends</a></li><li class=" awsinsider-nav-link"><a href="https://web.archive.org/web/20201022100947/https://awsinsider.net/home.aspx" target="_blank">AWSInsider.net</a></li><li class=" esj-nav-link"><a href="https://web.archive.org/web/20201022100947/https://esj.com/home.aspx" target="_blank">Enterprise Systems</a></li><li class=" futuretech-nav-link"><a href="https://web.archive.org/web/20201022100947/https://futuretech360.com/home.aspx" target="_blank">FutureTech360</a></li><li class=" live360-nav-link"><a href="https://web.archive.org/web/20201022100947/https://live360events.com/home.aspx" target="_blank">Live! 360</a></li><li class=" mcp-nav-link"><a href="https://web.archive.org/web/20201022100947/https://mcpmag.com/home.aspx" target="_blank">MCPmag.com</a></li><li class=" prophyts-nav-link"><a href="https://web.archive.org/web/20201022100947/https://prophyts.com/home.aspx" target="_blank">Prophyts</a></li><li class=" pureai-nav-link"><a href="https://web.archive.org/web/20201022100947/https://pureai.com/home.aspx" target="_blank">Pure AI</a></li><li class=" redmond-nav-link"><a href="https://web.archive.org/web/20201022100947/https://redmondmag.com/home.aspx" target="_blank">Redmond </a></li><li class=" rcp-nav-link"><a href="https://web.archive.org/web/20201022100947/https://rcpmag.com/home.aspx" target="_blank">Redmond Channel Partner</a></li><li class=" techmentor-nav-link"><a href="https://web.archive.org/web/20201022100947/https://techmentorevents.com/home.aspx" target="_blank">TechMentor Events</a></li><li class=" virt-nav-link"><a href="https://web.archive.org/web/20201022100947/https://virtualizationreview.com/home.aspx" target="_blank">Virtualization & Cloud Review</a></li><li class=" vsm-nav-link"><a href="https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/home.aspx" target="_blank">Visual Studio Magazine</a></li><li class=" last vslive-nav-link"><a href="https://web.archive.org/web/20201022100947/https://vslive.com/home.aspx" target="_blank">Visual Studio Live!</a></li></ul> <br class="clear"/> </div> <!-- component markup end --> </noindex> <div class="skinad"></div> </div><!-- closing div --> <div id="Copyright_copyright" class="copyright"> <div class="copyright-inner"> © <script type="text/javascript">var cur = 1996; var year = new Date(); if(cur == year.getFullYear()) year = year.getFullYear(); else year = cur + '-' + year.getFullYear(); document.write(year);</script> <a href="https://web.archive.org/web/20201022100947/https://1105media.com/home.aspx" target="_blank">1105 Media Inc</a>. See our <a href="https://web.archive.org/web/20201022100947/https://1105media.com/pages/privacy-policy.aspx" target="_blank">Privacy Policy</a>, <a href="https://web.archive.org/web/20201022100947/https://1105media.com/pages/cookie-policy.aspx" target="_blank">Cookie Policy</a> and <a href="https://web.archive.org/web/20201022100947/https://1105media.com/pages/terms-of-use.aspx" target="_blank">Terms of Use</a>. <a href="https://web.archive.org/web/20201022100947/https://1105media.com/pages/privacy-policy.aspx#_Toc520738059">CA: Do Not Sell My Personal Info</a><br> <p align="center"><b><a href="/web/20201022100947/https://visualstudiomagazine.com/cdn-cgi/l/email-protection#5634383731333a16676766633b33323f377835393b692523343c3335226b0433313724323f383176003f2523373a252223323f393b3731372c3f38337835393b">Problems? Questions? Feedback? E-mail us.</a></b></p> </div> </div> </footer> </div> <div class="ad"> <div id="div-gpt-ad-dog_t1-0015"> <script data-cfasync="false" src="/web/20201022100947js_/https://visualstudiomagazine.com/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script type="text/javascript"> googletag.cmd.push(function() { googletag.display('div-gpt-ad-dog_t1-0015'); }); </script> <noscript> <a href="https://web.archive.org/web/20201022100947/https://pubads.g.doubleclick.net/gampad/jump?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253ddog_t1%26Topic%253dNET_Core%252cDevelopment&sz=100x100|200x200&tile=15&c=123456789" target="_blank"> <img src="https://web.archive.org/web/20201022100947im_/https://pubads.g.doubleclick.net/gampad/ad?iu=/5978/eof.vsm&t=item%253d3f6741d4_92ce_455e_b45a_b557e66a978d%26pos%253ddog_t1%26Topic%253dNET_Core%252cDevelopment&sz=100x100|200x200&tile=15&c=123456789" border="0" alt=""/> </a> </noscript> </div> </div> <!--social media share--> <script src="/web/20201022100947js_/https://visualstudiomagazine.com/design/ECG/js/jssocials.min.js?v=2"></script> <script> $(function(){ var socialshare = '<div id="share"></div>'; $('#level0 #article').prepend(socialshare); $('#level0 #blogPost .names + div').append(socialshare); $('#level0 #whitepaper').append(socialshare); $("#share").jsSocials({ shares: ["facebook", "linkedin", "twitter"], //url: "https://web.archive.org/web/20201022100947/https://twitter.com/share", //text: "Please share this with your friends", showLabel: false, showCount: true, shareIn: "popup" }); }); </script> <!--end social media share--> <script type="text/javascript"> //<![CDATA[ var postbackElement = null; var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_endRequest(RestoreFocus); prm.add_beginRequest(SavePostbackElement); function RestoreFocus(source, args) { document.getElementById(postbackElement.id).focus(); } function SavePostbackElement(source, args) { postbackElement = args.get_postBackElement(); } function fireFoxFix(e){ if( navigator.userAgent.toLowerCase().indexOf('firefox') > -1 ){ var KeyCode = (e.which) ? e.which : e.keyCode; if (KeyCode != 9) { var controll = e.currentTarget; controll.blur(); controll.focus(); } } }//]]> </script> </form> </body> </html> <!-- FILE ARCHIVED ON 10:09:47 Oct 22, 2020 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 08:58:50 Nov 24, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.671 exclusion.robots: 0.037 exclusion.robots.policy: 0.022 esindex: 0.012 cdx.remote: 19.033 LoadShardBlock: 193.966 (3) PetaboxLoader3.datanode: 214.753 (4) load_resource: 121.949 PetaboxLoader3.resolve: 47.636 -->