CINXE.COM

Announcing .NET Core 2.0 | .NET Blog

<!DOCTYPE html><html lang="en-US"><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://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/","20200601151118","https://web.archive.org/","web","/_static/", "1591024278"); </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 --> <meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><script type="text/javascript">(window.NREUM||(NREUM={})).loader_config={xpid:"VQUEVVBbDRACVFRbAQYCU1c=",licenseKey:"b0106f4dcd",applicationID:"205967553"};window.NREUM||(NREUM={}),__nr_require=function(t,e,n){function r(n){if(!e[n]){var o=e[n]={exports:{}};t[n][0].call(o.exports,function(e){var o=t[n][1][e];return r(o||e)},o,o.exports)}return e[n].exports}if("function"==typeof __nr_require)return __nr_require;for(var o=0;o<n.length;o++)r(n[o]);return r}({1:[function(t,e,n){function r(t){try{s.console&&console.log(t)}catch(e){}}var o,i=t("ee"),a=t(25),s={};try{o=localStorage.getItem("__nr_flags").split(","),console&&"function"==typeof console.log&&(s.console=!0,o.indexOf("dev")!==-1&&(s.dev=!0),o.indexOf("nr_dev")!==-1&&(s.nrDev=!0))}catch(c){}s.nrDev&&i.on("internal-error",function(t){r(t.stack)}),s.dev&&i.on("fn-err",function(t,e,n){r(n.stack)}),s.dev&&(r("NR AGENT IN DEVELOPMENT MODE"),r("flags: "+a(s,function(t,e){return t}).join(", ")))},{}],2:[function(t,e,n){function r(t,e,n,r,s){try{l?l-=1:o(s||new UncaughtException(t,e,n),!0)}catch(f){try{i("ierr",[f,c.now(),!0])}catch(d){}}return"function"==typeof u&&u.apply(this,a(arguments))}function UncaughtException(t,e,n){this.message=t||"Uncaught error with no additional information",this.sourceURL=e,this.line=n}function o(t,e){var n=e?null:c.now();i("err",[t,n])}var i=t("handle"),a=t(26),s=t("ee"),c=t("loader"),f=t("gos"),u=window.onerror,d=!1,p="nr@seenError",l=0;c.features.err=!0,t(1),window.onerror=r;try{throw new Error}catch(h){"stack"in h&&(t(13),t(12),"addEventListener"in window&&t(6),c.xhrWrappable&&t(14),d=!0)}s.on("fn-start",function(t,e,n){d&&(l+=1)}),s.on("fn-err",function(t,e,n){d&&!n[p]&&(f(n,p,function(){return!0}),this.thrown=!0,o(n))}),s.on("fn-end",function(){d&&!this.thrown&&l>0&&(l-=1)}),s.on("internal-error",function(t){i("ierr",[t,c.now(),!0])})},{}],3:[function(t,e,n){t("loader").features.ins=!0},{}],4:[function(t,e,n){function r(){L++,C=g.hash,this[u]=y.now()}function o(){L--,g.hash!==C&&i(0,!0);var t=y.now();this[h]=~~this[h]+t-this[u],this[d]=t}function i(t,e){E.emit("newURL",[""+g,e])}function a(t,e){t.on(e,function(){this[e]=y.now()})}var s="-start",c="-end",f="-body",u="fn"+s,d="fn"+c,p="cb"+s,l="cb"+c,h="jsTime",m="fetch",v="addEventListener",w=window,g=w.location,y=t("loader");if(w[v]&&y.xhrWrappable){var x=t(10),b=t(11),E=t(8),O=t(6),R=t(13),P=t(7),T=t(14),N=t(9),M=t("ee"),S=M.get("tracer");t(16),y.features.spa=!0;var C,L=0;M.on(u,r),M.on(p,r),M.on(d,o),M.on(l,o),M.buffer([u,d,"xhr-done","xhr-resolved"]),O.buffer([u]),R.buffer(["setTimeout"+c,"clearTimeout"+s,u]),T.buffer([u,"new-xhr","send-xhr"+s]),P.buffer([m+s,m+"-done",m+f+s,m+f+c]),E.buffer(["newURL"]),x.buffer([u]),b.buffer(["propagate",p,l,"executor-err","resolve"+s]),S.buffer([u,"no-"+u]),N.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"]),a(T,"send-xhr"+s),a(M,"xhr-resolved"),a(M,"xhr-done"),a(P,m+s),a(P,m+"-done"),a(N,"new-jsonp"),a(N,"jsonp-end"),a(N,"cb-start"),E.on("pushState-end",i),E.on("replaceState-end",i),w[v]("hashchange",i,!0),w[v]("load",i,!0),w[v]("popstate",function(){i(0,L>1)},!0)}},{}],5:[function(t,e,n){function r(t){}if(window.performance&&window.performance.timing&&window.performance.getEntriesByType){var o=t("ee"),i=t("handle"),a=t(13),s=t(12),c="learResourceTimings",f="addEventListener",u="resourcetimingbufferfull",d="bstResource",p="resource",l="-start",h="-end",m="fn"+l,v="fn"+h,w="bstTimer",g="pushState",y=t("loader");y.features.stn=!0,t(8),"addEventListener"in window&&t(6);var x=NREUM.o.EV;o.on(m,function(t,e){var n=t[0];n instanceof x&&(this.bstStart=y.now())}),o.on(v,function(t,e){var n=t[0];n instanceof x&&i("bst",[n,e,this.bstStart,y.now()])}),a.on(m,function(t,e,n){this.bstStart=y.now(),this.bstType=n}),a.on(v,function(t,e){i(w,[e,this.bstStart,y.now(),this.bstType])}),s.on(m,function(){this.bstStart=y.now()}),s.on(v,function(t,e){i(w,[e,this.bstStart,y.now(),"requestAnimationFrame"])}),o.on(g+l,function(t){this.time=y.now(),this.startPath=location.pathname+location.hash}),o.on(g+h,function(t){i("bstHist",[location.pathname+location.hash,this.startPath,this.time])}),f in window.performance&&(window.performance["c"+c]?window.performance[f](u,function(t){i(d,[window.performance.getEntriesByType(p)]),window.performance["c"+c]()},!1):window.performance[f]("webkit"+u,function(t){i(d,[window.performance.getEntriesByType(p)]),window.performance["webkitC"+c]()},!1)),document[f]("scroll",r,{passive:!0}),document[f]("keypress",r,!1),document[f]("click",r,!1)}},{}],6:[function(t,e,n){function r(t){for(var e=t;e&&!e.hasOwnProperty(u);)e=Object.getPrototypeOf(e);e&&o(e)}function o(t){s.inPlace(t,[u,d],"-",i)}function i(t,e){return t[1]}var a=t("ee").get("events"),s=t("wrap-function")(a,!0),c=t("gos"),f=XMLHttpRequest,u="addEventListener",d="removeEventListener";e.exports=a,"getPrototypeOf"in Object?(r(document),r(window),r(f.prototype)):f.prototype.hasOwnProperty(u)&&(o(window),o(f.prototype)),a.on(u+"-start",function(t,e){var n=t[1],r=c(n,"nr@wrapped",function(){function t(){if("function"==typeof n.handleEvent)return n.handleEvent.apply(n,arguments)}var e={object:t,"function":n}[typeof n];return e?s(e,"fn-",null,e.name||"anonymous"):n});this.wrapped=t[1]=r}),a.on(d+"-start",function(t){t[1]=this.wrapped||t[1]})},{}],7:[function(t,e,n){function r(t,e,n){var r=t[e];"function"==typeof r&&(t[e]=function(){var t=i(arguments),e={};o.emit(n+"before-start",[t],e);var a;e[m]&&e[m].dt&&(a=e[m].dt);var s=r.apply(this,t);return o.emit(n+"start",[t,a],s),s.then(function(t){return o.emit(n+"end",[null,t],s),t},function(t){throw o.emit(n+"end",[t],s),t})})}var o=t("ee").get("fetch"),i=t(26),a=t(25);e.exports=o;var s=window,c="fetch-",f=c+"body-",u=["arrayBuffer","blob","json","text","formData"],d=s.Request,p=s.Response,l=s.fetch,h="prototype",m="nr@context";d&&p&&l&&(a(u,function(t,e){r(d[h],e,f),r(p[h],e,f)}),r(s,"fetch",c),o.on(c+"end",function(t,e){var n=this;if(e){var r=e.headers.get("content-length");null!==r&&(n.rxSize=r),o.emit(c+"done",[null,e],n)}else o.emit(c+"done",[t],n)}))},{}],8:[function(t,e,n){var r=t("ee").get("history"),o=t("wrap-function")(r);e.exports=r;var i=window.history&&window.history.constructor&&window.history.constructor.prototype,a=window.history;i&&i.pushState&&i.replaceState&&(a=i),o.inPlace(a,["pushState","replaceState"],"-")},{}],9:[function(t,e,n){function r(t){function e(){c.emit("jsonp-end",[],p),t.removeEventListener("load",e,!1),t.removeEventListener("error",n,!1)}function n(){c.emit("jsonp-error",[],p),c.emit("jsonp-end",[],p),t.removeEventListener("load",e,!1),t.removeEventListener("error",n,!1)}var r=t&&"string"==typeof t.nodeName&&"script"===t.nodeName.toLowerCase();if(r){var o="function"==typeof t.addEventListener;if(o){var a=i(t.src);if(a){var u=s(a),d="function"==typeof u.parent[u.key];if(d){var p={};f.inPlace(u.parent,[u.key],"cb-",p),t.addEventListener("load",e,!1),t.addEventListener("error",n,!1),c.emit("new-jsonp",[t.src],p)}}}}}function o(){return"addEventListener"in window}function i(t){var e=t.match(u);return e?e[1]:null}function a(t,e){var n=t.match(p),r=n[1],o=n[3];return o?a(o,e[r]):e[r]}function s(t){var e=t.match(d);return e&&e.length>=3?{key:e[2],parent:a(e[1],window)}:{key:t,parent:window}}var c=t("ee").get("jsonp"),f=t("wrap-function")(c);if(e.exports=c,o()){var u=/[?&](?:callback|cb)=([^&#]+)/,d=/(.*)\.([^.]+)/,p=/^(\w+)(\.|$)(.*)$/,l=["appendChild","insertBefore","replaceChild"];Node&&Node.prototype&&Node.prototype.appendChild?f.inPlace(Node.prototype,l,"dom-"):(f.inPlace(HTMLElement.prototype,l,"dom-"),f.inPlace(HTMLHeadElement.prototype,l,"dom-"),f.inPlace(HTMLBodyElement.prototype,l,"dom-")),c.on("dom-start",function(t){r(t[0])})}},{}],10:[function(t,e,n){var r=t("ee").get("mutation"),o=t("wrap-function")(r),i=NREUM.o.MO;e.exports=r,i&&(window.MutationObserver=function(t){return this instanceof i?new i(o(t,"fn-")):i.apply(this,arguments)},MutationObserver.prototype=i.prototype)},{}],11:[function(t,e,n){function r(t){var e=a.context(),n=s(t,"executor-",e),r=new f(n);return a.context(r).getCtx=function(){return e},a.emit("new-promise",[r,e],e),r}function o(t,e){return e}var i=t("wrap-function"),a=t("ee").get("promise"),s=i(a),c=t(25),f=NREUM.o.PR;e.exports=a,f&&(window.Promise=r,["all","race"].forEach(function(t){var e=f[t];f[t]=function(n){function r(t){return function(){a.emit("propagate",[null,!o],i),o=o||!t}}var o=!1;c(n,function(e,n){Promise.resolve(n).then(r("all"===t),r(!1))});var i=e.apply(f,arguments),s=f.resolve(i);return s}}),["resolve","reject"].forEach(function(t){var e=f[t];f[t]=function(t){var n=e.apply(f,arguments);return t!==n&&a.emit("propagate",[t,!0],n),n}}),f.prototype["catch"]=function(t){return this.then(null,t)},f.prototype=Object.create(f.prototype,{constructor:{value:r}}),c(Object.getOwnPropertyNames(f),function(t,e){try{r[e]=f[e]}catch(n){}}),a.on("executor-start",function(t){t[0]=s(t[0],"resolve-",this),t[1]=s(t[1],"resolve-",this)}),a.on("executor-err",function(t,e,n){t[1](n)}),s.inPlace(f.prototype,["then"],"then-",o),a.on("then-start",function(t,e){this.promise=e,t[0]=s(t[0],"cb-",this),t[1]=s(t[1],"cb-",this)}),a.on("then-end",function(t,e,n){this.nextPromise=n;var r=this.promise;a.emit("propagate",[r,!0],n)}),a.on("cb-end",function(t,e,n){a.emit("propagate",[n,!0],this.nextPromise)}),a.on("propagate",function(t,e,n){this.getCtx&&!e||(this.getCtx=function(){if(t instanceof Promise)var e=a.context(t);return e&&e.getCtx?e.getCtx():this})}),r.toString=function(){return""+f})},{}],12:[function(t,e,n){var r=t("ee").get("raf"),o=t("wrap-function")(r),i="equestAnimationFrame";e.exports=r,o.inPlace(window,["r"+i,"mozR"+i,"webkitR"+i,"msR"+i],"raf-"),r.on("raf-start",function(t){t[0]=o(t[0],"fn-")})},{}],13:[function(t,e,n){function r(t,e,n){t[0]=a(t[0],"fn-",null,n)}function o(t,e,n){this.method=n,this.timerDuration=isNaN(t[1])?0:+t[1],t[0]=a(t[0],"fn-",this,n)}var i=t("ee").get("timer"),a=t("wrap-function")(i),s="setTimeout",c="setInterval",f="clearTimeout",u="-start",d="-";e.exports=i,a.inPlace(window,[s,"setImmediate"],s+d),a.inPlace(window,[c],c+d),a.inPlace(window,[f,"clearImmediate"],f+d),i.on(c+u,r),i.on(s+u,o)},{}],14:[function(t,e,n){function r(t,e){d.inPlace(e,["onreadystatechange"],"fn-",s)}function o(){var t=this,e=u.context(t);t.readyState>3&&!e.resolved&&(e.resolved=!0,u.emit("xhr-resolved",[],t)),d.inPlace(t,g,"fn-",s)}function i(t){y.push(t),h&&(b?b.then(a):v?v(a):(E=-E,O.data=E))}function a(){for(var t=0;t<y.length;t++)r([],y[t]);y.length&&(y=[])}function s(t,e){return e}function c(t,e){for(var n in t)e[n]=t[n];return e}t(6);var f=t("ee"),u=f.get("xhr"),d=t("wrap-function")(u),p=NREUM.o,l=p.XHR,h=p.MO,m=p.PR,v=p.SI,w="readystatechange",g=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],y=[];e.exports=u;var x=window.XMLHttpRequest=function(t){var e=new l(t);try{u.emit("new-xhr",[e],e),e.addEventListener(w,o,!1)}catch(n){try{u.emit("internal-error",[n])}catch(r){}}return e};if(c(l,x),x.prototype=l.prototype,d.inPlace(x.prototype,["open","send"],"-xhr-",s),u.on("send-xhr-start",function(t,e){r(t,e),i(e)}),u.on("open-xhr-start",r),h){var b=m&&m.resolve();if(!v&&!m){var E=1,O=document.createTextNode(E);new h(a).observe(O,{characterData:!0})}}else f.on("fn-end",function(t){t[0]&&t[0].type===w||a()})},{}],15:[function(t,e,n){function r(t){if(!i(t))return null;var e=window.NREUM;if(!e.loader_config)return null;var n=(e.loader_config.accountID||"").toString()||null,r=(e.loader_config.agentID||"").toString()||null,s=(e.loader_config.trustKey||"").toString()||null;if(!n||!r)return null;var c=a.generateCatId(),f=a.generateCatId(),u=Date.now(),d=o(c,f,u,n,r,s);return{header:d,guid:c,traceId:f,timestamp:u}}function o(t,e,n,r,o,i){var a="btoa"in window&&"function"==typeof window.btoa;if(!a)return null;var s={v:[0,1],d:{ty:"Browser",ac:r,ap:o,id:t,tr:e,ti:n}};return i&&r!==i&&(s.d.tk=i),btoa(JSON.stringify(s))}function i(t){var e=!1,n=!1,r={};if("init"in NREUM&&"distributed_tracing"in NREUM.init&&(r=NREUM.init.distributed_tracing,n=!!r.enabled),n)if(t.sameOrigin)e=!0;else if(r.allowed_origins instanceof Array)for(var o=0;o<r.allowed_origins.length;o++){var i=s(r.allowed_origins[o]);if(t.hostname===i.hostname&&t.protocol===i.protocol&&t.port===i.port){e=!0;break}}return n&&e}var a=t(23),s=t(17);e.exports={generateTracePayload:r,shouldGenerateTrace:i}},{}],16:[function(t,e,n){function r(t){var e=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var r=0;r<p;r++)t.removeEventListener(d[r],this.listener,!1);e.aborted||(n.duration=a.now()-this.startTime,this.loadCaptureCalled||4!==t.readyState?null==e.status&&(e.status=0):i(this,t),n.cbTime=this.cbTime,u.emit("xhr-done",[t],t),s("xhr",[e,n,this.startTime]))}}function o(t,e){var n=c(e),r=t.params;r.host=n.hostname+":"+n.port,r.pathname=n.pathname,t.parsedOrigin=c(e),t.sameOrigin=t.parsedOrigin.sameOrigin}function i(t,e){t.params.status=e.status;var n=v(e,t.lastSize);if(n&&(t.metrics.rxSize=n),t.sameOrigin){var r=e.getResponseHeader("X-NewRelic-App-Data");r&&(t.params.cat=r.split(", ").pop())}t.loadCaptureCalled=!0}var a=t("loader");if(a.xhrWrappable){var s=t("handle"),c=t(17),f=t(15).generateTracePayload,u=t("ee"),d=["load","error","abort","timeout"],p=d.length,l=t("id"),h=t(21),m=t(20),v=t(18),w=window.XMLHttpRequest;a.features.xhr=!0,t(14),t(7),u.on("new-xhr",function(t){var e=this;e.totalCbs=0,e.called=0,e.cbTime=0,e.end=r,e.ended=!1,e.xhrGuids={},e.lastSize=null,e.loadCaptureCalled=!1,t.addEventListener("load",function(n){i(e,t)},!1),h&&(h>34||h<10)||window.opera||t.addEventListener("progress",function(t){e.lastSize=t.loaded},!1)}),u.on("open-xhr-start",function(t){this.params={method:t[0]},o(this,t[1]),this.metrics={}}),u.on("open-xhr-end",function(t,e){"loader_config"in NREUM&&"xpid"in NREUM.loader_config&&this.sameOrigin&&e.setRequestHeader("X-NewRelic-ID",NREUM.loader_config.xpid);var n=f(this.parsedOrigin);n&&n.header&&(e.setRequestHeader("newrelic",n.header),this.dt=n)}),u.on("send-xhr-start",function(t,e){var n=this.metrics,r=t[0],o=this;if(n&&r){var i=m(r);i&&(n.txSize=i)}this.startTime=a.now(),this.listener=function(t){try{"abort"!==t.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==t.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof e.onload))&&o.end(e)}catch(n){try{u.emit("internal-error",[n])}catch(r){}}};for(var s=0;s<p;s++)e.addEventListener(d[s],this.listener,!1)}),u.on("xhr-cb-time",function(t,e,n){this.cbTime+=t,e?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof n.onload||this.end(n)}),u.on("xhr-load-added",function(t,e){var n=""+l(t)+!!e;this.xhrGuids&&!this.xhrGuids[n]&&(this.xhrGuids[n]=!0,this.totalCbs+=1)}),u.on("xhr-load-removed",function(t,e){var n=""+l(t)+!!e;this.xhrGuids&&this.xhrGuids[n]&&(delete this.xhrGuids[n],this.totalCbs-=1)}),u.on("addEventListener-end",function(t,e){e instanceof w&&"load"===t[0]&&u.emit("xhr-load-added",[t[1],t[2]],e)}),u.on("removeEventListener-end",function(t,e){e instanceof w&&"load"===t[0]&&u.emit("xhr-load-removed",[t[1],t[2]],e)}),u.on("fn-start",function(t,e,n){e instanceof w&&("onload"===n&&(this.onload=!0),("load"===(t[0]&&t[0].type)||this.onload)&&(this.xhrCbStart=a.now()))}),u.on("fn-end",function(t,e){this.xhrCbStart&&u.emit("xhr-cb-time",[a.now()-this.xhrCbStart,this.onload,e],e)}),u.on("fetch-before-start",function(t){var e,n=t[1]||{};"string"==typeof t[0]?e=t[0]:t[0]&&t[0].url&&(e=t[0].url),e&&(this.parsedOrigin=c(e),this.sameOrigin=this.parsedOrigin.sameOrigin);var r=f(this.parsedOrigin);if(r&&r.header){var o=r.header;if("string"==typeof t[0]){var i={};for(var a in n)i[a]=n[a];i.headers=new Headers(n.headers||{}),i.headers.set("newrelic",o),this.dt=r,t.length>1?t[1]=i:t.push(i)}else t[0]&&t[0].headers&&(t[0].headers.append("newrelic",o),this.dt=r)}})}},{}],17:[function(t,e,n){var r={};e.exports=function(t){if(t in r)return r[t];var e=document.createElement("a"),n=window.location,o={};e.href=t,o.port=e.port;var i=e.href.split("://");!o.port&&i[1]&&(o.port=i[1].split("/")[0].split("@").pop().split(":")[1]),o.port&&"0"!==o.port||(o.port="https"===i[0]?"443":"80"),o.hostname=e.hostname||n.hostname,o.pathname=e.pathname,o.protocol=i[0],"/"!==o.pathname.charAt(0)&&(o.pathname="/"+o.pathname);var a=!e.protocol||":"===e.protocol||e.protocol===n.protocol,s=e.hostname===document.domain&&e.port===n.port;return o.sameOrigin=a&&(!e.hostname||s),"/"===o.pathname&&(r[t]=o),o}},{}],18:[function(t,e,n){function r(t,e){var n=t.responseType;return"json"===n&&null!==e?e:"arraybuffer"===n||"blob"===n||"json"===n?o(t.response):"text"===n||"document"===n||""===n||void 0===n?o(t.responseText):void 0}var o=t(20);e.exports=r},{}],19:[function(t,e,n){function r(){}function o(t,e,n){return function(){return i(t,[f.now()].concat(s(arguments)),e?null:this,n),e?void 0:this}}var i=t("handle"),a=t(25),s=t(26),c=t("ee").get("tracer"),f=t("loader"),u=NREUM;"undefined"==typeof window.newrelic&&(newrelic=u);var d=["setPageViewName","setCustomAttribute","setErrorHandler","finished","addToTrace","inlineHit","addRelease"],p="api-",l=p+"ixn-";a(d,function(t,e){u[e]=o(p+e,!0,"api")}),u.addPageAction=o(p+"addPageAction",!0),u.setCurrentRouteName=o(p+"routeName",!0),e.exports=newrelic,u.interaction=function(){return(new r).get()};var h=r.prototype={createTracer:function(t,e){var n={},r=this,o="function"==typeof e;return i(l+"tracer",[f.now(),t,n],r),function(){if(c.emit((o?"":"no-")+"fn-start",[f.now(),r,o],n),o)try{return e.apply(this,arguments)}catch(t){throw c.emit("fn-err",[arguments,this,t],n),t}finally{c.emit("fn-end",[f.now()],n)}}}};a("actionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get".split(","),function(t,e){h[e]=o(l+e)}),newrelic.noticeError=function(t,e){"string"==typeof t&&(t=new Error(t)),i("err",[t,f.now(),!1,e])}},{}],20:[function(t,e,n){e.exports=function(t){if("string"==typeof t&&t.length)return t.length;if("object"==typeof t){if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer&&t.byteLength)return t.byteLength;if("undefined"!=typeof Blob&&t instanceof Blob&&t.size)return t.size;if(!("undefined"!=typeof FormData&&t instanceof FormData))try{return JSON.stringify(t).length}catch(e){return}}}},{}],21:[function(t,e,n){var r=0,o=navigator.userAgent.match(/Firefox[\/\s](\d+\.\d+)/);o&&(r=+o[1]),e.exports=r},{}],22:[function(t,e,n){function r(t,e){var n=t.getEntries();n.forEach(function(t){"first-paint"===t.name?c("timing",["fp",Math.floor(t.startTime)]):"first-contentful-paint"===t.name&&c("timing",["fcp",Math.floor(t.startTime)])})}function o(t,e){var n=t.getEntries();n.length>0&&c("lcp",[n[n.length-1]])}function i(t){if(t instanceof u&&!p){var e,n=Math.round(t.timeStamp);e=n>1e12?Date.now()-n:f.now()-n,p=!0,c("timing",["fi",n,{type:t.type,fid:e}])}}if(!("init"in NREUM&&"page_view_timing"in NREUM.init&&"enabled"in NREUM.init.page_view_timing&&NREUM.init.page_view_timing.enabled===!1)){var a,s,c=t("handle"),f=t("loader"),u=NREUM.o.EV;if("PerformanceObserver"in window&&"function"==typeof window.PerformanceObserver){a=new PerformanceObserver(r),s=new PerformanceObserver(o);try{a.observe({entryTypes:["paint"]}),s.observe({entryTypes:["largest-contentful-paint"]})}catch(d){}}if("addEventListener"in document){var p=!1,l=["click","keydown","mousedown","pointerdown","touchstart"];l.forEach(function(t){document.addEventListener(t,i,!1)})}}},{}],23:[function(t,e,n){function r(){function t(){return e?15&e[n++]:16*Math.random()|0}var e=null,n=0,r=window.crypto||window.msCrypto;r&&r.getRandomValues&&(e=r.getRandomValues(new Uint8Array(31)));for(var o,i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx",a="",s=0;s<i.length;s++)o=i[s],"x"===o?a+=t().toString(16):"y"===o?(o=3&t()|8,a+=o.toString(16)):a+=o;return a}function o(){function t(){return e?15&e[n++]:16*Math.random()|0}var e=null,n=0,r=window.crypto||window.msCrypto;r&&r.getRandomValues&&Uint8Array&&(e=r.getRandomValues(new Uint8Array(31)));for(var o=[],i=0;i<16;i++)o.push(t().toString(16));return o.join("")}e.exports={generateUuid:r,generateCatId:o}},{}],24:[function(t,e,n){function r(t,e){if(!o)return!1;if(t!==o)return!1;if(!e)return!0;if(!i)return!1;for(var n=i.split("."),r=e.split("."),a=0;a<r.length;a++)if(r[a]!==n[a])return!1;return!0}var o=null,i=null,a=/Version\/(\S+)\s+Safari/;if(navigator.userAgent){var s=navigator.userAgent,c=s.match(a);c&&s.indexOf("Chrome")===-1&&s.indexOf("Chromium")===-1&&(o="Safari",i=c[1])}e.exports={agent:o,version:i,match:r}},{}],25:[function(t,e,n){function r(t,e){var n=[],r="",i=0;for(r in t)o.call(t,r)&&(n[i]=e(r,t[r]),i+=1);return n}var o=Object.prototype.hasOwnProperty;e.exports=r},{}],26:[function(t,e,n){function r(t,e,n){e||(e=0),"undefined"==typeof n&&(n=t?t.length:0);for(var r=-1,o=n-e||0,i=Array(o<0?0:o);++r<o;)i[r]=t[e+r];return i}e.exports=r},{}],27:[function(t,e,n){e.exports={exists:"undefined"!=typeof window.performance&&window.performance.timing&&"undefined"!=typeof window.performance.timing.navigationStart}},{}],ee:[function(t,e,n){function r(){}function o(t){function e(t){return t&&t instanceof r?t:t?c(t,s,i):i()}function n(n,r,o,i){if(!p.aborted||i){t&&t(n,r,o);for(var a=e(o),s=m(n),c=s.length,f=0;f<c;f++)s[f].apply(a,r);var d=u[y[n]];return d&&d.push([x,n,r,a]),a}}function l(t,e){g[t]=m(t).concat(e)}function h(t,e){var n=g[t];if(n)for(var r=0;r<n.length;r++)n[r]===e&&n.splice(r,1)}function m(t){return g[t]||[]}function v(t){return d[t]=d[t]||o(n)}function w(t,e){f(t,function(t,n){e=e||"feature",y[n]=e,e in u||(u[e]=[])})}var g={},y={},x={on:l,addEventListener:l,removeEventListener:h,emit:n,get:v,listeners:m,context:e,buffer:w,abort:a,aborted:!1};return x}function i(){return new r}function a(){(u.api||u.feature)&&(p.aborted=!0,u=p.backlog={})}var s="nr@context",c=t("gos"),f=t(25),u={},d={},p=e.exports=o();p.backlog=u},{}],gos:[function(t,e,n){function r(t,e,n){if(o.call(t,e))return t[e];var r=n();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!1}),r}catch(i){}return t[e]=r,r}var o=Object.prototype.hasOwnProperty;e.exports=r},{}],handle:[function(t,e,n){function r(t,e,n,r){o.buffer([t],r),o.emit(t,e,n)}var o=t("ee").get("handle");e.exports=r,r.ee=o},{}],id:[function(t,e,n){function r(t){var e=typeof t;return!t||"object"!==e&&"function"!==e?-1:t===window?0:a(t,i,function(){return o++})}var o=1,i="nr@id",a=t("gos");e.exports=r},{}],loader:[function(t,e,n){function r(){if(!E++){var t=b.info=NREUM.info,e=l.getElementsByTagName("script")[0];if(setTimeout(u.abort,3e4),!(t&&t.licenseKey&&t.applicationID&&e))return u.abort();f(y,function(e,n){t[e]||(t[e]=n)}),c("mark",["onload",a()+b.offset],null,"api");var n=l.createElement("script");n.src="https://"+t.agent,e.parentNode.insertBefore(n,e)}}function o(){"complete"===l.readyState&&i()}function i(){c("mark",["domContent",a()+b.offset],null,"api")}function a(){return O.exists&&performance.now?Math.round(performance.now()):(s=Math.max((new Date).getTime(),s))-b.offset}var s=(new Date).getTime(),c=t("handle"),f=t(25),u=t("ee"),d=t(24),p=window,l=p.document,h="addEventListener",m="attachEvent",v=p.XMLHttpRequest,w=v&&v.prototype;NREUM.o={ST:setTimeout,SI:p.setImmediate,CT:clearTimeout,XHR:v,REQ:p.Request,EV:p.Event,PR:p.Promise,MO:p.MutationObserver};var g=""+location,y={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/nr-spa-1167.min.js"},x=v&&w&&w[h]&&!/CriOS/.test(navigator.userAgent),b=e.exports={offset:s,now:a,origin:g,features:{},xhrWrappable:x,userAgent:d};t(19),t(22),l[h]?(l[h]("DOMContentLoaded",i,!1),p[h]("load",r,!1)):(l[m]("onreadystatechange",o),p[m]("onload",r)),c("mark",["firstbyte",s],null,"api");var E=0,O=t(27)},{}],"wrap-function":[function(t,e,n){function r(t){return!(t&&t instanceof Function&&t.apply&&!t[a])}var o=t("ee"),i=t(26),a="nr@original",s=Object.prototype.hasOwnProperty,c=!1;e.exports=function(t,e){function n(t,e,n,o){function nrWrapper(){var r,a,s,c;try{a=this,r=i(arguments),s="function"==typeof n?n(r,a):n||{}}catch(f){p([f,"",[r,a,o],s])}u(e+"start",[r,a,o],s);try{return c=t.apply(a,r)}catch(d){throw u(e+"err",[r,a,d],s),d}finally{u(e+"end",[r,a,c],s)}}return r(t)?t:(e||(e=""),nrWrapper[a]=t,d(t,nrWrapper),nrWrapper)}function f(t,e,o,i){o||(o="");var a,s,c,f="-"===o.charAt(0);for(c=0;c<e.length;c++)s=e[c],a=t[s],r(a)||(t[s]=n(a,f?s+o:o,i,s))}function u(n,r,o){if(!c||e){var i=c;c=!0;try{t.emit(n,r,o,e)}catch(a){p([a,n,r,o])}c=i}}function d(t,e){if(Object.defineProperty&&Object.keys)try{var n=Object.keys(t);return n.forEach(function(n){Object.defineProperty(e,n,{get:function(){return t[n]},set:function(e){return t[n]=e,e}})}),e}catch(r){p([r])}for(var o in t)s.call(t,o)&&(e[o]=t[o]);return e}function p(e){try{t.emit("internal-error",e)}catch(n){}}return t||(t=o),n.inPlace=f,n.flag=a,n}},{}]},{},["loader",2,16,5,3,4]);</script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><meta name="mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-title" content=".NET Blog - Free. Cross-platform. Open source. A developer platform for building all your apps."><link rel="profile" href="http://gmpg.org/xfn/11"><link rel="pingback" href="https://devblogs.microsoft.com/dotnet/xmlrpc.php"><link media="all" href="https://web.archive.org/web/20200601151118cs_/https://devblogs.microsoft.com/dotnet/wp-content/cache/autoptimize/10/css/autoptimize_b0331b3d8a686e0cd54443351b505d1f.css" rel="stylesheet"/><title>Announcing .NET Core 2.0 | .NET Blog</title><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"/><meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"/><link rel="canonical" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/"/><meta property="og:locale" content="en_US"/><meta property="og:type" content="article"/><meta property="og:title" content="Announcing .NET Core 2.0 | .NET Blog"/><meta property="og:description" content=".NET Core 2.0 is available today as a final release. You can start developing with it at the command line, in your favorite text editor, in Visual Studio 2017 15.3, Visual Studio Code or Visual Studio for Mac. It is ready for production workloads,"/><meta property="og:url" content="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/"/><meta property="og:site_name" content=".NET Blog"/><meta property="article:published_time" content="2017-08-14T16:12:33+00:00"/><meta property="article:modified_time" content="2018-09-07T19:39:30+00:00"/><meta property="og:image" content="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2019/02/swimlane-cross-platform.png"/><meta property="og:image:width" content="636"/><meta property="og:image:height" content="300"/><meta name="twitter:card" content="summary_large_image"/> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://web.archive.org/web/20200601151118/https://schema.org","@graph":[{"@type":"WebSite","@id":"https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/#website","url":"https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/","name":".NET Blog","description":"Free. Cross-platform. Open source. A developer platform for building all your apps.","potentialAction":[{"@type":"SearchAction","target":"https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/?s={search_term_string}","query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#primaryimage","inLanguage":"en-US","url":"https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2019/02/swimlane-cross-platform.png","width":636,"height":300},{"@type":"WebPage","@id":"https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#webpage","url":"https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/","name":"Announcing .NET Core 2.0 | .NET Blog","isPartOf":{"@id":"https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/#website"},"primaryImageOfPage":{"@id":"https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#primaryimage"},"datePublished":"2017-08-14T16:12:33+00:00","dateModified":"2018-09-07T19:39:30+00:00","author":{"@id":"https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/#/schema/person/e6a5018136336c539e490ca52b93e56e"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/"]}]},{"@type":["Person"],"@id":"https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/#/schema/person/e6a5018136336c539e490ca52b93e56e","name":"Rich Lander [MSFT]","image":{"@type":"ImageObject","@id":"https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/#personlogo","inLanguage":"en-US","url":"https://web.archive.org/web/20200601151118/https://secure.gravatar.com/avatar/37f91ebe219df737566a4dc7cdd53b68?s=96&d=mm&r=g","caption":"Rich Lander [MSFT]"},"description":"Richard Lander is a Principal Program Manager on the .NET Core team. He works on making .NET Core work great in memory-limited Docker containers, on ARM hardware like the Raspberry Pi, and enabling GPIO programming and IoT scenarios. He is part of the design team that defines new .NET runtime capabilities and features. He enjoys British rock and Doctor Who. He grew up in Canada and New Zealand."}]}</script> <link rel="dns-prefetch" href="//web.archive.org/web/20200601151118/https://s.w.org/"/><link rel="alternate" type="application/rss+xml" title=".NET Blog » Feed" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/feed/"/><link rel="alternate" type="application/rss+xml" title=".NET Blog » Comments Feed" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/comments/feed/"/><link rel="alternate" type="application/rss+xml" title=".NET Blog » Announcing .NET Core 2.0 Comments Feed" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/feed/"/> <script type="text/javascript">window._wpemojiSettings = {"baseUrl":"https:\/\/web.archive.org\/web\/20200601151118\/https:\/\/s.w.org\/images\/core\/emoji\/12.0.0-1\/72x72\/","ext":".png","svgUrl":"https:\/\/web.archive.org\/web\/20200601151118\/https:\/\/s.w.org\/images\/core\/emoji\/12.0.0-1\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/web.archive.org\/web\/20200601151118\/https:\/\/devblogs.microsoft.com\/dotnet\/wp-includes\/js\/wp-emoji-release.min.js"}}; /*! This file is auto-generated */ !function(e,a,t){var r,n,o,i,p=a.createElement("canvas"),s=p.getContext&&p.getContext("2d");function c(e,t){var a=String.fromCharCode;s.clearRect(0,0,p.width,p.height),s.fillText(a.apply(this,e),0,0);var r=p.toDataURL();return s.clearRect(0,0,p.width,p.height),s.fillText(a.apply(this,t),0,0),r===p.toDataURL()}function l(e){if(!s||!s.fillText)return!1;switch(s.textBaseline="top",s.font="600 32px Arial",e){case"flag":return!c([127987,65039,8205,9895,65039],[127987,65039,8203,9895,65039])&&(!c([55356,56826,55356,56819],[55356,56826,8203,55356,56819])&&!c([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]));case"emoji":return!c([55357,56424,55356,57342,8205,55358,56605,8205,55357,56424,55356,57340],[55357,56424,55356,57342,8203,55358,56605,8203,55357,56424,55356,57340])}return!1}function d(e){var t=a.createElement("script");t.src=e,t.defer=t.type="text/javascript",a.getElementsByTagName("head")[0].appendChild(t)}for(i=Array("flag","emoji"),t.supports={everything:!0,everythingExceptFlag:!0},o=0;o<i.length;o++)t.supports[i[o]]=l(i[o]),t.supports.everything=t.supports.everything&&t.supports[i[o]],"flag"!==i[o]&&(t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&t.supports[i[o]]);t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&!t.supports.flag,t.DOMReady=!1,t.readyCallback=function(){t.DOMReady=!0},t.supports.everything||(n=function(){t.readyCallback()},a.addEventListener?(a.addEventListener("DOMContentLoaded",n,!1),e.addEventListener("load",n,!1)):(e.attachEvent("onload",n),a.attachEvent("onreadystatechange",function(){"complete"===a.readyState&&t.readyCallback()})),(r=t.source||{}).concatemoji?d(r.concatemoji):r.wpemoji&&r.twemoji&&(d(r.twemoji),d(r.wpemoji)))}(window,document,window._wpemojiSettings);</script> <script type="text/javascript">(function(a,d){if(a._nsl===d){a._nsl=[];var c=function(){if(a.jQuery===d)setTimeout(c,33);else{for(var b=0;b<a._nsl.length;b++)a._nsl[b].call(a,a.jQuery);a._nsl={push:function(b){b.call(a,a.jQuery)}}}};c()}})(window);</script><script type="text/javascript" src="https://web.archive.org/web/20200601151118js_/https://devblogs.microsoft.com/dotnet/wp-includes/js/jquery/jquery.js"></script> <link rel="https://api.w.org/" href="https://devblogs.microsoft.com/dotnet/wp-json/"/><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://devblogs.microsoft.com/dotnet/xmlrpc.php?rsd"/><link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://devblogs.microsoft.com/dotnet/wp-includes/wlwmanifest.xml"/><link rel="shortlink" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/?p=14265"/><link rel="alternate" type="application/json+oembed" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F"/><link rel="alternate" type="text/xml+oembed" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F&amp;format=xml"/><link rel="preload" as="style" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-content/plugins/code-prettify/prettify/prettify.css"/><link rel="icon" href="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2018/10/Microsoft-Favicon.png" sizes="32x32"/><link rel="icon" href="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2018/10/Microsoft-Favicon.png" sizes="192x192"/><link rel="apple-touch-icon" href="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2018/10/Microsoft-Favicon.png"/><meta name="msapplication-TileImage" content="https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2018/10/Microsoft-Favicon.png"/> <script>// Standard script supplied by Google (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', 'https://web.archive.org/web/20200601151118/https://www.google-analytics.com/analytics.js', 'ga'); //check consent var DevblogsConsent = fetchCookie('simaCookie='); console.log('Devconsent= ' + DevblogsConsent); // If clientId is undefined, GA will generate a new Id var storedId = fetchCookie('devblogs_telemetry='); // console.log('storeId= '+storeId); ga('create', 'UA-65691138-1', { 'storage': 'none', 'clientId': storedId }); ga('set', 'dimension1', Date.now()); ga('send', 'pageview'); //if (DevblogsConsent == 'set') { if (DevblogsConsent && storedId) { // Load Google Optimize ga('require', 'GTM-5KLDKLG'); } // If no previous Id was stored, store the new Id that GA generates if (!storedId) { ga(function (tracker) { var id = tracker.get('clientId'); storeId(id); }); } function fetchCookie(pref) { var prefix = pref; var cookies = document.cookie.split(';'); var targetCookie = cookies.find(function (cookie) { return cookie.trim().startsWith(prefix); }); return targetCookie && targetCookie.trim().substring(prefix.length, targetCookie.length); } function storeId(id) { var expires = new Date(); expires.setFullYear(expires.getFullYear() + 1); document.cookie = "devblogs_telemetry=" + id + "; expires=" + expires.toUTCString() + "; path=/"; }</script> </head><body class="post-template-default single single-post postid-14265 single-format-standard custom-background wp-featherlight-captions group-blog"> <script src="https://web.archive.org/web/20200601151118js_/https://az725175.vo.msecnd.net/scripts/jsll-4.js" type="text/javascript"></script> <script type="text/javascript">var config = { autoCapture: { lineage: true }, coreData: { appId: "MSDevBlogs" } }; awa.init(config);</script> <div id="headerArea" class="uhf" data-m="{&quot;cN&quot;:&quot;headerArea&quot;,&quot;cT&quot;:&quot;Area_coreuiArea&quot;,&quot;id&quot;:&quot;a1Body&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;Body&quot;}"><div id="headerRegion" data-region-key="headerregion" data-m="{&quot;cN&quot;:&quot;headerRegion&quot;,&quot;cT&quot;:&quot;Region_coreui-region&quot;,&quot;id&quot;:&quot;r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;a1&quot;}"><div id="headerUniversalHeader" data-m="{&quot;cN&quot;:&quot;headerUniversalHeader&quot;,&quot;cT&quot;:&quot;Module_coreui-universalheader&quot;,&quot;id&quot;:&quot;m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;r1a1&quot;}" data-module-id="Category|headerRegion|coreui-region|headerUniversalHeader|coreui-universalheader"><div id="epb" class="x-hidden x-hidden-vp-mobile-st uhfc-universal-context context-uhf" data-m="{&quot;cN&quot;:&quot;epb_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;m1r1a1&quot;}"><div class="c-uhfh-alert f-information epb-container theme-light" role="dialog" aria-label="banner" data-m="{&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c1c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c1m1r1a1&quot;}" data-pb="[{&quot;Browser&quot;:&quot;chrome&quot;,&quot;ExtensionType&quot;:&quot;news&quot;,&quot;ExtensionUrl&quot;:&quot;https://browserdefaults.microsoft.com/extn/redirect/?xid=10&amp;br=gc&amp;channel=uhf&amp;pc=U556&quot;,&quot;BackgroundColorDarkTheme&quot;:&quot;b-black&quot;,&quot;LogoUrlDarkTheme&quot;:&quot;https://img-prod-cms-rt-microsoft-com.akamaized.net/cms/api/am/imageFileData/RE4myc9?ver=c8c3&quot;,&quot;ActionLinkBackgroundColorDarkTheme&quot;:&quot;btn-white&quot;,&quot;BackgroundColorLightTheme&quot;:&quot;b-white&quot;,&quot;LogoUrlLightTheme&quot;:&quot;https://img-prod-cms-rt-microsoft-com.akamaized.net/cms/api/am/imageFileData/RE4myc9?ver=c8c3&quot;,&quot;ActionLinkBackgroundColorLightTheme&quot;:&quot;btn-red&quot;,&quot;Title&quot;:&quot;Breaking news from around the world&quot;,&quot;Paragraph&quot;:&quot;Get the Microsoft News extension for Chrome&quot;,&quot;ActionLinkText&quot;:&quot;Add it now&quot;,&quot;ActionLinkAriaLabel&quot;:&quot;Add it now&quot;,&quot;DismissText&quot;:&quot;No thanks&quot;,&quot;DismissAriaLabel&quot;:&quot;No thanks&quot;,&quot;CookieExpiration&quot;:&quot;30&quot;,&quot;CurrentTheme&quot;:&quot;theme-light&quot;},{&quot;Browser&quot;:&quot;firefox&quot;,&quot;ExtensionType&quot;:&quot;rewards&quot;,&quot;ExtensionUrl&quot;:&quot;https://browserdefaults.microsoft.com/extn/redirect/?xid=6&amp;br=mf&amp;channel=uhf&amp;pc=U564&quot;,&quot;BackgroundColorDarkTheme&quot;:&quot;b-blue&quot;,&quot;LogoUrlDarkTheme&quot;:&quot;https://img-prod-cms-rt-microsoft-com.akamaized.net/cms/api/am/imageFileData/RE4mFZT?ver=7321&quot;,&quot;ActionLinkBackgroundColorDarkTheme&quot;:&quot;btn-white&quot;,&quot;BackgroundColorLightTheme&quot;:&quot;b-white&quot;,&quot;LogoUrlLightTheme&quot;:&quot;https://img-prod-cms-rt-microsoft-com.akamaized.net/cms/api/am/imageFileData/RE4mDoE?ver=3feb&quot;,&quot;ActionLinkBackgroundColorLightTheme&quot;:&quot;btn-blue&quot;,&quot;Title&quot;:&quot;Maximize your points with the Microsoft Rewards extension&quot;,&quot;Paragraph&quot;:&quot;Quick access to your daily points and offers&quot;,&quot;ActionLinkText&quot;:&quot;Add it now&quot;,&quot;ActionLinkAriaLabel&quot;:&quot;Add it now&quot;,&quot;DismissText&quot;:&quot;No thanks&quot;,&quot;DismissAriaLabel&quot;:&quot;No thanks&quot;,&quot;CookieExpiration&quot;:&quot;30&quot;,&quot;CurrentTheme&quot;:&quot;theme-light&quot;}]" data-pb-g="true"><div><div class="c-paragraph"> <img alt="" data-src="" src="/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0//" class="f-img-lzy"/> <span class="c-text-group pb-content"> <span class="epb-launch pb-content-heading"></span> <span class="epb-text pb-content-text"></span> </span></div> <span class="c-group"> <button id="close-epb" class="c-action-trigger c-action-cancel glyph-cancel" data-m="{&quot;cN&quot;:&quot;PB-dismiss_nonnav&quot;,&quot;id&quot;:&quot;nn1c1c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c1c1m1r1a1&quot;}"></button> <a id="epbTryNow" href="" target="_blank" class="epb-launch c-action-trigger c-action-open" data-m="{&quot;cN&quot;:&quot;PB-launch_nav&quot;,&quot;id&quot;:&quot;n2c1c1m1r1a1&quot;,&quot;sN&quot;:2,&quot;aN&quot;:&quot;c1c1m1r1a1&quot;}"></a> </span></div></div></div><div data-m="{&quot;cN&quot;:&quot;cookiebanner_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c2c1m1r1a1&quot;,&quot;sN&quot;:2,&quot;aN&quot;:&quot;c1m1r1a1&quot;}"><div id="uhfCookieAlert"><div id="msccBanner" dir="ltr" data-site-name="Microsoft.OneRenderFramework.Core" data-mscc-version="0.4.2" data-nver="aspnet-3.1.3" data-sver="0.1.2" class="cc-banner" role="alert" aria-labelledby="msccMessage"><div class="cc-container"><svg class="cc-icon cc-v-center" x="0px" y="0px" viewbox="0 0 44 44" height="30px" fill="none" stroke="currentColor"><circle cx="22" cy="22" r="20" stroke-width="2"></circle><line x1="22" x2="22" y1="18" y2="33" stroke-width="3"></line><line x1="22" x2="22" y1="12" y2="15" stroke-width="3"></line></svg> <span id="msccMessage" class="cc-v-center cc-text" tabindex="0">This site uses cookies for analytics, personalized content and ads. By continuing to browse this site, you agree to this use.</span> <a href="https://web.archive.org/web/20200601151118/https://go.microsoft.com/fwlink/?linkid=845480" target="_top" aria-label="Learn more about Microsoft's Cookie Policy" id="msccLearnMore" class="cc-link cc-v-center cc-float-right" data-mscc-ic="false">Learn more</a></div></div></div></div> <a id="uhfSkipToMain" class="m-skip-to-main" data-href="#mainContent" tabindex="0" data-m="{&quot;cN&quot;:&quot;Skip to content_nonnav&quot;,&quot;id&quot;:&quot;nn3c1m1r1a1&quot;,&quot;sN&quot;:3,&quot;aN&quot;:&quot;c1m1r1a1&quot;}">Skip to main content</a><header class="c-uhfh context-uhf no-js c-sgl-stck c-category-header " itemscope="itemscope" data-header-footprint="/DEV_Blogs/DEV_header_dotnet, fromService: True" data-magict="true" itemtype="http://schema.org/Organization"><div class="theme-light js-global-head f-closed global-head-cont" data-m="{&quot;cN&quot;:&quot;Universal Header_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c4c1m1r1a1&quot;,&quot;sN&quot;:4,&quot;aN&quot;:&quot;c1m1r1a1&quot;}"><div class="c-uhfh-gcontainer-st"> <button type="button" class="c-action-trigger c-glyph glyph-global-nav-button" aria-label="All Microsoft expand to see list of Microsoft products and services" initialstate-label="All Microsoft expand to see list of Microsoft products and services" togglestate-label="Close All Microsoft list" aria-expanded="false" data-m="{&quot;cN&quot;:&quot;Mobile menu button_nonnav&quot;,&quot;id&quot;:&quot;nn1c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c4c1m1r1a1&quot;}"></button> <button type="button" class="c-action-trigger c-glyph glyph-arrow-htmllegacy" aria-expanded="false" data-m="{&quot;cN&quot;:&quot;Close Search_nonnav&quot;,&quot;id&quot;:&quot;nn2c4c1m1r1a1&quot;,&quot;sN&quot;:2,&quot;aN&quot;:&quot;c4c1m1r1a1&quot;}"></button> <a id="uhfLogo" class="c-logo c-sgl-stk-uhfLogo" itemprop="url" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/" aria-label="Microsoft" data-m="{&quot;cN&quot;:&quot;GlobalNav_Logo_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c3c4c1m1r1a1&quot;,&quot;sN&quot;:3,&quot;aN&quot;:&quot;c4c1m1r1a1&quot;}"> <img alt="" itemprop="logo" itemscope="itemscope" class="c-image" src="https://web.archive.org/web/20200601151118im_/https://img-prod-cms-rt-microsoft-com.akamaized.net/cms/api/am/imageFileData/RE1Mu3b?ver=5c31" role="presentation" aria-hidden="true"/> <span role="presentation" aria-hidden="true">Microsoft</span> </a><div class="f-mobile-title"> <button type="button" class="c-action-trigger c-glyph glyph-chevron-left" aria-label="See more menu options" data-m="{&quot;cN&quot;:&quot;Mobile back button_nonnav&quot;,&quot;id&quot;:&quot;nn4c4c1m1r1a1&quot;,&quot;sN&quot;:4,&quot;aN&quot;:&quot;c4c1m1r1a1&quot;}"></button> <span data-global-title="Microsoft home" class="js-mobile-title">.NET Blog</span> <button type="button" class="c-action-trigger c-glyph glyph-chevron-right" aria-label="See more menu options" data-m="{&quot;cN&quot;:&quot;Mobile forward button_nonnav&quot;,&quot;id&quot;:&quot;nn5c4c1m1r1a1&quot;,&quot;sN&quot;:5,&quot;aN&quot;:&quot;c4c1m1r1a1&quot;}"></button></div><div class="c-show-pipe x-hidden-vp-mobile-st"> <a id="uhfCatLogo" class="c-logo c-cat-logo" href="/web/20200601151118/https://devblogs.microsoft.com/dotnet/" aria-label=".NET Blog" itemprop="url" data-m="{&quot;cN&quot;:&quot;CatNav_.NET Blog_nav&quot;,&quot;id&quot;:&quot;n6c4c1m1r1a1&quot;,&quot;sN&quot;:6,&quot;aN&quot;:&quot;c4c1m1r1a1&quot;}"> <span>.NET Blog</span> </a></div><div class="cat-logo-button-cont x-hidden"> <button type="button" id="uhfCatLogoButton" class="c-cat-logo-button x-hidden" aria-expanded="false" aria-label=".NET Blog" data-m="{&quot;cN&quot;:&quot;.NET Blog_nonnav&quot;,&quot;id&quot;:&quot;nn7c4c1m1r1a1&quot;,&quot;sN&quot;:7,&quot;aN&quot;:&quot;c4c1m1r1a1&quot;}"> .NET Blog </button></div><nav id="uhf-g-nav" aria-label="Contextual menu" class="c-uhfh-gnav" data-m="{&quot;cN&quot;:&quot;Category nav_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c8c4c1m1r1a1&quot;,&quot;sN&quot;:8,&quot;aN&quot;:&quot;c4c1m1r1a1&quot;}"><ul class="js-paddle-items"><li class="single-link js-nav-menu x-hidden-none-mobile-vp uhf-menu-item"> <a class="c-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/dotnet/" data-m="{&quot;cN&quot;:&quot;CatNav_Home_nav&quot;,&quot;id&quot;:&quot;n1c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c8c4c1m1r1a1&quot;}"> Home </a></li><li class="single-link js-nav-menu uhf-menu-item"> <a id="DevBlogs" class="c-uhf-nav-link" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/" data-m="{&quot;cN&quot;:&quot;CatNav_DevBlogs_nav&quot;,&quot;id&quot;:&quot;n2c8c4c1m1r1a1&quot;,&quot;sN&quot;:2,&quot;aN&quot;:&quot;c8c4c1m1r1a1&quot;}">DevBlogs</a></li><li class="nested-menu uhf-menu-item"><div class="c-uhf-menu js-nav-menu"> <button type="button" id="Product Blogs" aria-expanded="false" data-m="{&quot;cN&quot;:&quot;CatNav_Product Blogs_nonnav&quot;,&quot;id&quot;:&quot;nn3c8c4c1m1r1a1&quot;,&quot;sN&quot;:3,&quot;aN&quot;:&quot;c8c4c1m1r1a1&quot;}">Product Blogs</button><ul class="" data-class-idn="" aria-hidden="true" data-m="{&quot;cN&quot;:&quot;Product Blogs_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c4c8c4c1m1r1a1&quot;,&quot;sN&quot;:4,&quot;aN&quot;:&quot;c8c4c1m1r1a1&quot;}"><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;App Center_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c1c4c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c4c8c4c1m1r1a1&quot;}"> <a id="App Center" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/appcenter/" data-m="{&quot;cN&quot;:&quot;CatNav_App Center_nav&quot;,&quot;id&quot;:&quot;n1c1c4c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c1c4c8c4c1m1r1a1&quot;}">App Center</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Azure DevOps_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c2c4c8c4c1m1r1a1&quot;,&quot;sN&quot;:2,&quot;aN&quot;:&quot;c4c8c4c1m1r1a1&quot;}"> <a id="c-shellmenu_4" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/devops/" data-m="{&quot;cN&quot;:&quot;CatNav_Azure DevOps_nav&quot;,&quot;id&quot;:&quot;n1c2c4c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c2c4c8c4c1m1r1a1&quot;}">Azure DevOps</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Visual Studio_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c3c4c8c4c1m1r1a1&quot;,&quot;sN&quot;:3,&quot;aN&quot;:&quot;c4c8c4c1m1r1a1&quot;}"> <a id="Visual Studio" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/visualstudio/" data-m="{&quot;cN&quot;:&quot;CatNav_Visual Studio_nav&quot;,&quot;id&quot;:&quot;n1c3c4c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c3c4c8c4c1m1r1a1&quot;}">Visual Studio</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Visual Studio Code_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c4c4c8c4c1m1r1a1&quot;,&quot;sN&quot;:4,&quot;aN&quot;:&quot;c4c8c4c1m1r1a1&quot;}"> <a id="Visual Studio Code" class="js-subm-uhf-nav-link" href="https://web.archive.org/web/20200601151118/https://code.visualstudio.com/blogs" data-m="{&quot;cN&quot;:&quot;CatNav_Visual Studio Code_nav&quot;,&quot;id&quot;:&quot;n1c4c4c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c4c4c8c4c1m1r1a1&quot;}">Visual Studio Code</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Visual Studio for Mac_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c5c4c8c4c1m1r1a1&quot;,&quot;sN&quot;:5,&quot;aN&quot;:&quot;c4c8c4c1m1r1a1&quot;}"> <a id="Visual Studio for Mac" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/visualstudio/tag/visual-studio-for-mac/" data-m="{&quot;cN&quot;:&quot;CatNav_Visual Studio for Mac_nav&quot;,&quot;id&quot;:&quot;n1c5c4c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c5c4c8c4c1m1r1a1&quot;}">Visual Studio for Mac</a></li></ul></div></li><li class="nested-menu uhf-menu-item"><div class="c-uhf-menu js-nav-menu"> <button type="button" id="DevOps-main" aria-expanded="false" data-m="{&quot;cN&quot;:&quot;CatNav_DevOps_nonnav&quot;,&quot;id&quot;:&quot;nn5c8c4c1m1r1a1&quot;,&quot;sN&quot;:5,&quot;aN&quot;:&quot;c8c4c1m1r1a1&quot;}">DevOps</button><ul class="" data-class-idn="" aria-hidden="true" data-m="{&quot;cN&quot;:&quot;DevOps_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c6c8c4c1m1r1a1&quot;,&quot;sN&quot;:6,&quot;aN&quot;:&quot;c8c4c1m1r1a1&quot;}"><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Azure Artifacts_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c1c6c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c6c8c4c1m1r1a1&quot;}"> <a id="Azure Artifacts" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/devops/category/package-management/" data-m="{&quot;cN&quot;:&quot;CatNav_Azure Artifacts_nav&quot;,&quot;id&quot;:&quot;n1c1c6c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c1c6c8c4c1m1r1a1&quot;}">Azure Artifacts</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Azure Boards_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c2c6c8c4c1m1r1a1&quot;,&quot;sN&quot;:2,&quot;aN&quot;:&quot;c6c8c4c1m1r1a1&quot;}"> <a id="Azure Boards" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/devops/category/agile/" data-m="{&quot;cN&quot;:&quot;CatNav_Azure Boards_nav&quot;,&quot;id&quot;:&quot;n1c2c6c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c2c6c8c4c1m1r1a1&quot;}">Azure Boards</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Azure Pipelines_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c3c6c8c4c1m1r1a1&quot;,&quot;sN&quot;:3,&quot;aN&quot;:&quot;c6c8c4c1m1r1a1&quot;}"> <a id="c-shellmenu_11" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/devops/category/ci/" data-m="{&quot;cN&quot;:&quot;CatNav_Azure Pipelines_nav&quot;,&quot;id&quot;:&quot;n1c3c6c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c3c6c8c4c1m1r1a1&quot;}">Azure Pipelines</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Azure Repos_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c4c6c8c4c1m1r1a1&quot;,&quot;sN&quot;:4,&quot;aN&quot;:&quot;c6c8c4c1m1r1a1&quot;}"> <a id="c-shellmenu_12" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/devops/category/git/" data-m="{&quot;cN&quot;:&quot;CatNav_Azure Repos_nav&quot;,&quot;id&quot;:&quot;n1c4c6c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c4c6c8c4c1m1r1a1&quot;}">Azure Repos</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Azure Test Plans_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c5c6c8c4c1m1r1a1&quot;,&quot;sN&quot;:5,&quot;aN&quot;:&quot;c6c8c4c1m1r1a1&quot;}"> <a id="c-shellmenu_13" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/devops/category/testing/" data-m="{&quot;cN&quot;:&quot;CatNav_Azure Test Plans_nav&quot;,&quot;id&quot;:&quot;n1c5c6c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c5c6c8c4c1m1r1a1&quot;}">Azure Test Plans</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;DevOps_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c6c6c8c4c1m1r1a1&quot;,&quot;sN&quot;:6,&quot;aN&quot;:&quot;c6c8c4c1m1r1a1&quot;}"> <a id="DevOps" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/devops/" data-m="{&quot;cN&quot;:&quot;CatNav_DevOps_nav&quot;,&quot;id&quot;:&quot;n1c6c6c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c6c6c8c4c1m1r1a1&quot;}">DevOps</a></li></ul></div></li><li class="nested-menu uhf-menu-item"><div class="c-uhf-menu js-nav-menu"> <button type="button" id="Languages" aria-expanded="false" data-m="{&quot;cN&quot;:&quot;CatNav_Languages_nonnav&quot;,&quot;id&quot;:&quot;nn7c8c4c1m1r1a1&quot;,&quot;sN&quot;:7,&quot;aN&quot;:&quot;c8c4c1m1r1a1&quot;}">Languages</button><ul class="" data-class-idn="" aria-hidden="true" data-m="{&quot;cN&quot;:&quot;Languages_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:8,&quot;aN&quot;:&quot;c8c4c1m1r1a1&quot;}"><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;C++_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c1c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c8c8c4c1m1r1a1&quot;}"> <a id="c-shellmenu_16" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/cppblog/" data-m="{&quot;cN&quot;:&quot;CatNav_C++_nav&quot;,&quot;id&quot;:&quot;n1c1c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c1c8c8c4c1m1r1a1&quot;}">C++</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Java_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c2c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:2,&quot;aN&quot;:&quot;c8c8c4c1m1r1a1&quot;}"> <a id="Java" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/java/" data-m="{&quot;cN&quot;:&quot;CatNav_Java_nav&quot;,&quot;id&quot;:&quot;n1c2c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c2c8c8c4c1m1r1a1&quot;}">Java</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;JavaScript_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c3c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:3,&quot;aN&quot;:&quot;c8c8c4c1m1r1a1&quot;}"> <a id="JavaScript" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/visualstudio/tag/javascript/" data-m="{&quot;cN&quot;:&quot;CatNav_JavaScript_nav&quot;,&quot;id&quot;:&quot;n1c3c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c3c8c8c4c1m1r1a1&quot;}">JavaScript</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;PowerShell_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c4c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:4,&quot;aN&quot;:&quot;c8c8c4c1m1r1a1&quot;}"> <a id="c-shellmenu_19" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/powershell/" data-m="{&quot;cN&quot;:&quot;CatNav_PowerShell_nav&quot;,&quot;id&quot;:&quot;n1c4c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c4c8c8c4c1m1r1a1&quot;}">PowerShell</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Python_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c5c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:5,&quot;aN&quot;:&quot;c8c8c4c1m1r1a1&quot;}"> <a id="Python" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/python/" data-m="{&quot;cN&quot;:&quot;CatNav_Python_nav&quot;,&quot;id&quot;:&quot;n1c5c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c5c8c8c4c1m1r1a1&quot;}">Python</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Q#_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c6c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:6,&quot;aN&quot;:&quot;c8c8c4c1m1r1a1&quot;}"> <a id="c-shellmenu_21" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/qsharp/" data-m="{&quot;cN&quot;:&quot;CatNav_Q#_nav&quot;,&quot;id&quot;:&quot;n1c6c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c6c8c8c4c1m1r1a1&quot;}">Q#</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Scripting_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c7c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:7,&quot;aN&quot;:&quot;c8c8c4c1m1r1a1&quot;}"> <a id="c-shellmenu_22" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/scripting/" data-m="{&quot;cN&quot;:&quot;CatNav_Scripting_nav&quot;,&quot;id&quot;:&quot;n1c7c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c7c8c8c4c1m1r1a1&quot;}">Scripting</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;TypeScript_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c8c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:8,&quot;aN&quot;:&quot;c8c8c4c1m1r1a1&quot;}"> <a id="TypeScript" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/typescript/" data-m="{&quot;cN&quot;:&quot;CatNav_TypeScript_nav&quot;,&quot;id&quot;:&quot;n1c8c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c8c8c8c4c1m1r1a1&quot;}">TypeScript</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Visual Basic_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c9c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:9,&quot;aN&quot;:&quot;c8c8c4c1m1r1a1&quot;}"> <a id="Visual Basic" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/vbteam/" data-m="{&quot;cN&quot;:&quot;CatNav_Visual Basic_nav&quot;,&quot;id&quot;:&quot;n1c9c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c9c8c8c4c1m1r1a1&quot;}">Visual Basic</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Visual C#_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c10c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:10,&quot;aN&quot;:&quot;c8c8c4c1m1r1a1&quot;}"> <a id="c-shellmenu_25" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/dotnet/tag/c/" data-m="{&quot;cN&quot;:&quot;CatNav_Visual C#_nav&quot;,&quot;id&quot;:&quot;n1c10c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c10c8c8c4c1m1r1a1&quot;}">Visual C#</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Visual F#_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c11c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:11,&quot;aN&quot;:&quot;c8c8c4c1m1r1a1&quot;}"> <a id="Visual F#" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/dotnet/tag/visual-f/" data-m="{&quot;cN&quot;:&quot;CatNav_Visual F#_nav&quot;,&quot;id&quot;:&quot;n1c11c8c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c11c8c8c4c1m1r1a1&quot;}">Visual F#</a></li></ul></div></li><li class="nested-menu uhf-menu-item"><div class="c-uhf-menu js-nav-menu"> <button type="button" id="c-shellmenu_27" aria-expanded="false" data-m="{&quot;cN&quot;:&quot;CatNav_.Net_nonnav&quot;,&quot;id&quot;:&quot;nn9c8c4c1m1r1a1&quot;,&quot;sN&quot;:9,&quot;aN&quot;:&quot;c8c4c1m1r1a1&quot;}">.NET</button><ul class="" data-class-idn="" aria-hidden="true" data-m="{&quot;cN&quot;:&quot;.Net_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c10c8c4c1m1r1a1&quot;,&quot;sN&quot;:10,&quot;aN&quot;:&quot;c8c4c1m1r1a1&quot;}"><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;.NET_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c1c10c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c10c8c4c1m1r1a1&quot;}"> <a id="c-shellmenu_28" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/dotnet/ " data-m="{&quot;cN&quot;:&quot;CatNav_.NET_nav&quot;,&quot;id&quot;:&quot;n1c1c10c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c1c10c8c4c1m1r1a1&quot;}">.NET</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;ASP.NET_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c2c10c8c4c1m1r1a1&quot;,&quot;sN&quot;:2,&quot;aN&quot;:&quot;c10c8c4c1m1r1a1&quot;}"> <a id="ASP.NET" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/aspnet/" data-m="{&quot;cN&quot;:&quot;CatNav_ASP.NET_nav&quot;,&quot;id&quot;:&quot;n1c2c10c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c2c10c8c4c1m1r1a1&quot;}">ASP.NET</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;NuGet_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c3c10c8c4c1m1r1a1&quot;,&quot;sN&quot;:3,&quot;aN&quot;:&quot;c10c8c4c1m1r1a1&quot;}"> <a id="c-shellmenu_30" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/nuget/" data-m="{&quot;cN&quot;:&quot;CatNav_NuGet_nav&quot;,&quot;id&quot;:&quot;n1c3c10c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c3c10c8c4c1m1r1a1&quot;}">NuGet</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Xamarin_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c4c10c8c4c1m1r1a1&quot;,&quot;sN&quot;:4,&quot;aN&quot;:&quot;c10c8c4c1m1r1a1&quot;}"> <a id="Xamarin" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/xamarin/" data-m="{&quot;cN&quot;:&quot;CatNav_Xamarin_nav&quot;,&quot;id&quot;:&quot;n1c4c10c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c4c10c8c4c1m1r1a1&quot;}">Xamarin</a></li></ul></div></li><li class="nested-menu uhf-menu-item"><div class="c-uhf-menu js-nav-menu"> <button type="button" id="Platform Development" aria-expanded="false" data-m="{&quot;cN&quot;:&quot;CatNav_Platform Development_nonnav&quot;,&quot;id&quot;:&quot;nn11c8c4c1m1r1a1&quot;,&quot;sN&quot;:11,&quot;aN&quot;:&quot;c8c4c1m1r1a1&quot;}">Platform Development</button><ul class="" data-class-idn="" aria-hidden="true" data-m="{&quot;cN&quot;:&quot;Platform Development_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:12,&quot;aN&quot;:&quot;c8c4c1m1r1a1&quot;}"><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Apps for Windows_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c1c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c12c8c4c1m1r1a1&quot;}"> <a id="Apps for Windows" class="js-subm-uhf-nav-link" href="https://web.archive.org/web/20200601151118/http://blogs.windows.com/buildingapps/" data-m="{&quot;cN&quot;:&quot;CatNav_Apps for Windows_nav&quot;,&quot;id&quot;:&quot;n1c1c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c1c12c8c4c1m1r1a1&quot;}">Apps for Windows</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Azure Government_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c2c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:2,&quot;aN&quot;:&quot;c12c8c4c1m1r1a1&quot;}"> <a id="Azure Government" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/azuregov/" data-m="{&quot;cN&quot;:&quot;CatNav_Azure Government_nav&quot;,&quot;id&quot;:&quot;n1c2c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c2c12c8c4c1m1r1a1&quot;}">Azure Government</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Bing Dev Center_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c3c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:3,&quot;aN&quot;:&quot;c12c8c4c1m1r1a1&quot;}"> <a id="Bing Dev Center" class="js-subm-uhf-nav-link" href="https://web.archive.org/web/20200601151118/https://blogs.bing.com/Developers-Blog/" data-m="{&quot;cN&quot;:&quot;CatNav_Bing Dev Center_nav&quot;,&quot;id&quot;:&quot;n1c3c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c3c12c8c4c1m1r1a1&quot;}">Bing Dev Center</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Command Line_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c4c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:4,&quot;aN&quot;:&quot;c12c8c4c1m1r1a1&quot;}"> <a id="Command Line" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/commandline/" data-m="{&quot;cN&quot;:&quot;CatNav_Command Line_nav&quot;,&quot;id&quot;:&quot;n1c4c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c4c12c8c4c1m1r1a1&quot;}">Command Line</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;DirectX Developer Blog_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c5c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:5,&quot;aN&quot;:&quot;c12c8c4c1m1r1a1&quot;}"> <a id="c-shellmenu_37" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/directx/" data-m="{&quot;cN&quot;:&quot;CatNav_DirectX Developer Blog_nav&quot;,&quot;id&quot;:&quot;n1c5c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c5c12c8c4c1m1r1a1&quot;}">DirectX Developer Blog</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;IoT Developer_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c6c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:6,&quot;aN&quot;:&quot;c12c8c4c1m1r1a1&quot;}"> <a id="c-shellmenu_38" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/iotdev/" data-m="{&quot;cN&quot;:&quot;CatNav_IoT Developer_nav&quot;,&quot;id&quot;:&quot;n1c6c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c6c12c8c4c1m1r1a1&quot;}">IoT Developer</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Microsoft Edge Dev_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c7c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:7,&quot;aN&quot;:&quot;c12c8c4c1m1r1a1&quot;}"> <a id="c-shellmenu_39" class="js-subm-uhf-nav-link" href="https://web.archive.org/web/20200601151118/http://blogs.windows.com/msedgedev/" data-m="{&quot;cN&quot;:&quot;CatNav_Microsoft Edge Dev_nav&quot;,&quot;id&quot;:&quot;n1c7c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c7c12c8c4c1m1r1a1&quot;}">Microsoft Edge Dev</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Microsoft Azure_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c8c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:8,&quot;aN&quot;:&quot;c12c8c4c1m1r1a1&quot;}"> <a id="c-shellmenu_40" class="js-subm-uhf-nav-link" href="https://web.archive.org/web/20200601151118/http://azure.microsoft.com/blog/" data-m="{&quot;cN&quot;:&quot;CatNav_Microsoft Azure_nav&quot;,&quot;id&quot;:&quot;n1c8c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c8c12c8c4c1m1r1a1&quot;}">Microsoft Azure</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Office 365 Development_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c9c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:9,&quot;aN&quot;:&quot;c12c8c4c1m1r1a1&quot;}"> <a id="Office 365 Development" class="js-subm-uhf-nav-link" href="https://web.archive.org/web/20200601151118/http://blogs.office.com/dev?filter=true&amp;filter-product=sharepoint" data-m="{&quot;cN&quot;:&quot;CatNav_Office 365 Development_nav&quot;,&quot;id&quot;:&quot;n1c9c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c9c12c8c4c1m1r1a1&quot;}">Office 365 Development</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Old New Thing_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c10c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:10,&quot;aN&quot;:&quot;c12c8c4c1m1r1a1&quot;}"> <a id="Old New Thing" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/oldnewthing/" data-m="{&quot;cN&quot;:&quot;CatNav_Old New Thing_nav&quot;,&quot;id&quot;:&quot;n1c10c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c10c12c8c4c1m1r1a1&quot;}">Old New Thing</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;PIX on Windows_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c11c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:11,&quot;aN&quot;:&quot;c12c8c4c1m1r1a1&quot;}"> <a id="PIX on Windows" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/pix/" data-m="{&quot;cN&quot;:&quot;CatNav_PIX on Windows_nav&quot;,&quot;id&quot;:&quot;n1c11c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c11c12c8c4c1m1r1a1&quot;}">PIX on Windows</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Premier Developer_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c12c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:12,&quot;aN&quot;:&quot;c12c8c4c1m1r1a1&quot;}"> <a id="Premier Developer" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/premier-developer/" data-m="{&quot;cN&quot;:&quot;CatNav_Premier Developer_nav&quot;,&quot;id&quot;:&quot;n1c12c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c12c12c8c4c1m1r1a1&quot;}">Premier Developer</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Surface Duo_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c13c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:13,&quot;aN&quot;:&quot;c12c8c4c1m1r1a1&quot;}"> <a id="surface-duo" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/surface-duo/" data-m="{&quot;cN&quot;:&quot;CatNav_Surface Duo_nav&quot;,&quot;id&quot;:&quot;n1c13c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c13c12c8c4c1m1r1a1&quot;}">Surface Duo</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Windows Search Platform_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c14c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:14,&quot;aN&quot;:&quot;c12c8c4c1m1r1a1&quot;}"> <a id="windows-search-platform" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/windows-search-platform/" data-m="{&quot;cN&quot;:&quot;CatNav_Windows Search Platform_nav&quot;,&quot;id&quot;:&quot;n1c14c12c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c14c12c8c4c1m1r1a1&quot;}">Windows Search Platform</a></li></ul></div></li><li class="nested-menu uhf-menu-item"><div class="c-uhf-menu js-nav-menu"> <button type="button" id="Data Development" aria-expanded="false" data-m="{&quot;cN&quot;:&quot;CatNav_Date Development_nonnav&quot;,&quot;id&quot;:&quot;nn13c8c4c1m1r1a1&quot;,&quot;sN&quot;:13,&quot;aN&quot;:&quot;c8c4c1m1r1a1&quot;}">Data Development</button><ul class="" data-class-idn="" aria-hidden="true" data-m="{&quot;cN&quot;:&quot;Date Development_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c14c8c4c1m1r1a1&quot;,&quot;sN&quot;:14,&quot;aN&quot;:&quot;c8c4c1m1r1a1&quot;}"><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Azure Cosmos DB_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c1c14c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c14c8c4c1m1r1a1&quot;}"> <a id="c-shellmenu_48" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/cosmosdb/" data-m="{&quot;cN&quot;:&quot;CatNav_Azure Cosmos DB_nav&quot;,&quot;id&quot;:&quot;n1c1c14c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c1c14c8c4c1m1r1a1&quot;}"> Azure Cosmos DB</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Azure SQL_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c2c14c8c4c1m1r1a1&quot;,&quot;sN&quot;:2,&quot;aN&quot;:&quot;c14c8c4c1m1r1a1&quot;}"> <a id="Azure SQL" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/azure-sql/" data-m="{&quot;cN&quot;:&quot;CatNav_Azure SQL_nav&quot;,&quot;id&quot;:&quot;n1c2c14c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c2c14c8c4c1m1r1a1&quot;}">Azure SQL</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;OData_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c3c14c8c4c1m1r1a1&quot;,&quot;sN&quot;:3,&quot;aN&quot;:&quot;c14c8c4c1m1r1a1&quot;}"> <a id="OData" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/odata/" data-m="{&quot;cN&quot;:&quot;CatNav_OData_nav&quot;,&quot;id&quot;:&quot;n1c3c14c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c3c14c8c4c1m1r1a1&quot;}">OData</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;Revolutions R_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c4c14c8c4c1m1r1a1&quot;,&quot;sN&quot;:4,&quot;aN&quot;:&quot;c14c8c4c1m1r1a1&quot;}"> <a id="c-shellmenu_51" class="js-subm-uhf-nav-link" href="https://web.archive.org/web/20200601151118/http://blog.revolutionanalytics.com/" data-m="{&quot;cN&quot;:&quot;CatNav_Revolutions R_nav&quot;,&quot;id&quot;:&quot;n1c4c14c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c4c14c8c4c1m1r1a1&quot;}">Revolutions R</a></li><li class="js-nav-menu single-link" data-m="{&quot;cN&quot;:&quot;SQL Server Data Tools_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c5c14c8c4c1m1r1a1&quot;,&quot;sN&quot;:5,&quot;aN&quot;:&quot;c14c8c4c1m1r1a1&quot;}"> <a id="SQL Server Data Tools" class="js-subm-uhf-nav-link" href="/web/20200601151118/https://devblogs.microsoft.com/ssdt/" data-m="{&quot;cN&quot;:&quot;CatNav_SQL Server Data Tools_nav&quot;,&quot;id&quot;:&quot;n1c5c14c8c4c1m1r1a1&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c5c14c8c4c1m1r1a1&quot;}">SQL Server Data Tools</a></li></ul></div></li><li id="overflow-menu" class="overflow-menu x-hidden uhf-menu-item"><div class="c-uhf-menu js-nav-menu"> <button data-m="{&quot;pid&quot;:&quot;More&quot;,&quot;id&quot;:&quot;nn15c8c4c1m1r1a1&quot;,&quot;sN&quot;:15,&quot;aN&quot;:&quot;c8c4c1m1r1a1&quot;}" type="button" aria-label="More" aria-expanded="false">More</button><ul id="overflow-menu-list" aria-hidden="true" class="overflow-menu-list"></ul></div></li></ul></nav><div class="c-uhfh-actions no-uhf-actions-exists" data-m="{&quot;cN&quot;:&quot;Header actions_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c9c4c1m1r1a1&quot;,&quot;sN&quot;:9,&quot;aN&quot;:&quot;c4c1m1r1a1&quot;}"><div class="wf-menu"></div></div></div></div></header></div></div></div><link rel="stylesheet" href="https://web.archive.org/web/20200601151118cs_/https://www.microsoft.com/onerfstatics/marketingsites-eus-prod/west-european/shell/_scrf/css/themes=default.device=uplevel_web_pc/da-4984fd/1c-c84309/e1-5adead/63-110476/a0-ff2952/f8-c4bb56/3b-fcdae1/87-5bf343?ver=2.0" type="text/css" media="all"/><link rel="stylesheet" href="https://web.archive.org/web/20200601151118cs_/https://statics-marketingsites-eus-ms-com.akamaized.net/statics/override.css?c=7" type="text/css"/><link rel="stylesheet" href="https://web.archive.org/web/20200601151118cs_/https://c.s-microsoft.com/mscc/statics/mscc-0.4.2.min.css" type="text/css"/><script src="https://web.archive.org/web/20200601151118js_/https://www.microsoft.com/onerfstatics/marketingsites-eus-prod/shell/_scrf/js/themes=default/54-af9f9f/c0-247156/de-099401/e1-a50eee/e7-954872/d8-97d509/f0-251fe2/46-be1318/77-04a268/11-240c7b/63-077520/a4-34de62/1b-c96630/db-bc0148/dc-7e9864/78-4c7d22/e1-c35781/f0-23b2e3/cd-23d3b0/6d-1e7ed0/b7-cadaa7/ca-40b7b0/4e-ee3a55/3e-f5c39b/c3-6454d7/f9-7592d3/92-10345d/79-499886/7e-cda2d3/db-f3b1fd/93-283c2d/e0-3c9860/91-97a04f/1f-100dea/33-abe4df/4d-6e4c52?ver=2.0&amp;iife=1"></script><script src="https://web.archive.org/web/20200601151118js_/https://c.s-microsoft.com/mscc/statics/mscc-0.4.2.min.js"></script><div class="hfeed site" id="page"><div class="wrapper" id="single-wrapper"><div class="container" id="content" tabindex="-1"><div class="row" id="mainContent"><div class="col-md content-area" id="primary"><main class="site-main" id="main"><article class="addtoanyshare" class="post-14265 post type-post status-publish format-standard has-post-thumbnail hentry category-dot-net" id="post-14265"><div class="row justify-content-center postcontent " id="featured"><div class="entry-content col-12 sharepostcontent"><h1 class="entry-title">Announcing .NET Core 2.0</h1><div class="row justify-content-center"><div class="col-md-4"><div style="margin:20px 0; text-align:center;"><img src="https://web.archive.org/web/20200601151118im_/https://secure.gravatar.com/avatar/37f91ebe219df737566a4dc7cdd53b68?s=58&amp;d=mm&amp;r=g" width="58" height="58" alt="Avatar" class="avatar avatar-58 wp-user-avatar wp-user-avatar-58 photo avatar-default"/><p style="font-size:20px;">Richard</p></div></div></div><div style="clear: both; padding-bottom: 10px;"></div><div style="margin-top:-24px;margin-bottom:28px;" class="entry-meta"><p style="text-align:center;font-size:14px;color:#616161;">August 14th, 2017</p></div><p><a href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/net/download/core">.NET Core 2.0</a> is available today as a final release. You can start developing with it at the command line, in your favorite text editor, in <a href="https://web.archive.org/web/20200601151118/https://blogs.msdn.microsoft.com/visualstudio/2017/08/14/visual-studio-2017-version-15-3-released/">Visual Studio 2017 15.3</a>, Visual Studio Code or Visual Studio for Mac. It is ready for production workloads, on your own hardware or your favorite cloud, like <a href="https://web.archive.org/web/20200601151118/https://docs.microsoft.com/dotnet/azure/">Microsoft Azure</a>.</p><ul><li><a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/core/blob/master/release-notes/download-archives/2.0.0-download.md">Downloads</a></li><li><a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/core/blob/master/release-notes/2.0/2.0-supported-os.md">Supported OSes</a></li><li><a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/core/blob/master/release-notes/2.0/2.0.0.md">Release Notes</a></li><li><a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/core/blob/master/release-notes/2.0/2.0.0-known-issues.md">Known Issues</a></li><li><a href="https://web.archive.org/web/20200601151118/https://docs.microsoft.com/dotnet/core/">Documentation</a></li><li><a href="https://web.archive.org/web/20200601151118/https://docs.microsoft.com/dotnet/core/tutorials/">Tutorials</a></li><li><a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/dotnet-docker-samples/blob/master/README.md">Samples</a></li><li><a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/core/blob/master/release-notes/2.0/2.0.0-contributor.md">Contributors</a></li><li><a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/core/blob/master/release-notes/2.0/2.0.0-commit.md">Commits</a></li></ul><p>We are also releasing ASP.NET Core 2.0 and Entity Framework Core 2.0. Read the <a href="https://web.archive.org/web/20200601151118/https://blogs.msdn.microsoft.com/webdev/2017/08/14/announcing-asp-net-core-2-0/">ASP.NET Core 2.0</a> and the <a href="https://web.archive.org/web/20200601151118/https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-entity-framework-core-2-0/">Entity Framework Core 2.0</a> announcements for details. You can also watch the <a href="https://web.archive.org/web/20200601151118/https://aka.ms/dotnetcore2launchvideo">launch video on Channel 9</a> to see many of the new features in action.</p><p>The <a href="https://web.archive.org/web/20200601151118/https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-net-standard-2-0/">.NET Standard 2.0 spec is complete</a>, finalized at the same time as <a href="https://web.archive.org/web/20200601151118/https://docs.microsoft.com/dotnet/api/?view=netcore-2.0">.NET Core 2.0</a>. .NET Standard is a key effort to improve code sharing and to make the APIs available in each .NET implementation more consistent. <a href="https://web.archive.org/web/20200601151118/https://docs.microsoft.com/dotnet/api/?view=netstandard-2.0">.NET Standard 2.0</a> more than doubles that set of APIs that you have available for your projects.</p><p>.NET Core 2.0 has been deployed to <a href="https://web.archive.org/web/20200601151118/https://azure.microsoft.com/services/app-service/web/">Azure Web Apps</a>. It is now available in all Azure regions.</p><p>.NET Core 2.0 includes major <a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/announcements/issues?q=is%3Aissue+is%3Aopen+label%3A%22.NET+Core+2.0%22">improvements</a> that make .NET Core easier to use and much more capable as a platform. The following improvements are the biggest ones and others are described in the body of this post. Please share feedback and any issues you encounter at <a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/core/issues/812">dotnet/core #812</a>.</p><h3><a href="#runtime" id="user-content-runtime" class="anchor"></a>Runtime</h3><ul><li>Major performance improvements in the runtime and framework</li><li>Implements <a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/announcements/issues/24">.NET Standard 2.0</a></li><li>6 new <a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/core/blob/master/release-notes/2.0/2.0-supported-os.md">platforms supported</a>, including Debian Stretch, SUSE Linux Enterprise Server 12 SP2, and macOS High Sierra.</li><li><a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/announcements/issues/10">RyuJIT is the x86 JIT in .NET Core 2.0</a></li><li><a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/announcements/issues/29">Linux and Windows ARM32 builds now available</a>, in preview.</li></ul><h3><a href="#sdk" id="user-content-sdk" class="anchor"></a>SDK</h3><ul><li><a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/announcements/issues/23"><code>dotnet restore</code> is now an implicit command</a>.</li><li>.NET Core and .NET Standard projects can reference .NET Framework NuGet packages and projects.</li><li>The .NET Core SDK can be built from source with the <a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/source-build">source-build repo</a>.</li></ul><h3><a href="#visual-studio" id="user-content-visual-studio" class="anchor"></a>Visual Studio</h3><ul><li>Live Unit Testing supports .NET Core</li><li>Code navigation improvements</li><li>C# Azure Functions support in the box</li><li>CI/CD support for containers</li></ul><p>For Visual Studio users: You need to update to the latest versions of Visual Studio to use .NET Core 2.0. You will need to install the <a href="https://web.archive.org/web/20200601151118/https://dot.net/core">.NET Core 2.0 SDK</a> separately for this update.</p><ul><li><a href="https://web.archive.org/web/20200601151118/https://www.visualstudio.com/vs/">Visual Studio 2017 15.3+</a></li><li><a href="https://web.archive.org/web/20200601151118/https://www.visualstudio.com/vs/visual-studio-mac">Visual Studio for Mac</a></li><li><a href="https://web.archive.org/web/20200601151118/https://code.visualstudio.com/docs/other/dotnet">Visual Studio Code &#8212; C# Extension</a></li></ul><h3><a href="#thanks" id="user-content-thanks" class="anchor"></a>Thanks!</h3><p>On behalf of the entire team, I want to express our gratitude for <a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/core/blob/master/release-notes/2.0/2.0.0-contributor.md">all the direct contributions that we received for .NET Core 2.0</a>. Thanks! Some of the most prolific contributors for .NET Core 2.0 are from companies investing in .NET Core, other than Microsoft. Thanks to <a href="https://web.archive.org/web/20200601151118/https://developer.tizen.org/development/tizen-.net-preview/introduction">Samsung</a> and Qualcomm for your <a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/core/blob/master/release-notes/2.0/2.0.0-commit.md">contributions</a> to .NET Core.</p><p>The .NET Core team shipped two .NET Core 2.0 previews (<a href="https://web.archive.org/web/20200601151118/https://blogs.msdn.microsoft.com/dotnet/2017/05/10/announcing-net-core-2-0-preview-1/">preview 1</a> and <a href="https://web.archive.org/web/20200601151118/https://blogs.msdn.microsoft.com/dotnet/2017/06/28/announcing-net-core-2-0-preview-2/">preview 2</a>) leading up to today&#8217;s release. Thanks to everyone who tried out those releases and gave us feedback.</p><h2><a href="#using-net-core-20" id="user-content-using-net-core-20" class="anchor"></a>Using .NET Core 2.0</h2><p>You can get started with .NET Core 2.0 in just a few minutes, on Windows macOS or Linux.</p><p>You first need to install the <a href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/net/download/core">.NET Core SDK 2.0</a>.</p><p>You can create .NET Core 2.0 apps on the command line or in <a href="https://web.archive.org/web/20200601151118/https://www.visualstudio.com/">Visual Studio</a>.</p><p>Creating new projects is easy. There are templates you can use in Visual Studio 2017. You can also create new application at the command line with <code>dotnet new</code>, as you can see in the following example.</p><div class="highlight highlight-text-shell-session"><pre><span class="pl-c1">C:samples&gt;dotnet new console -o console-app</span> <span class="pl-c1">C:samples&gt;cd console-app</span> <span class="pl-c1">C:samplesconsole-app&gt;dotnet run</span> <span class="pl-c1">Hello World!</span></pre></div><h3>Upgrading Existing Applications</h3><p>You can also upgrade an existing application to .NET Core 2.0. In Visual Studio, you can change the target framework of an application to .NET Core 2.0.</p><p><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/core2-targeting.1.png"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/core2-targeting.1.png" alt="" width="1896" height="497" class="aligncenter size-full wp-image-14305"/> </a></p><p>If you are working with <a href="https://web.archive.org/web/20200601151118/https://code.visualstudio.com/">Visual Studio Code</a> or another text editor, you will need to update the target framework to <code>netcoreapp2.0</code>.</p><div class="highlight highlight-text-xml"><pre> &lt;<span class="pl-ent">PropertyGroup</span>&gt; &lt;<span class="pl-ent">TargetFramework</span>&gt;netcoreapp2.0&lt;/<span class="pl-ent">TargetFramework</span>&gt; &lt;/<span class="pl-ent">PropertyGroup</span>&gt;</pre></div><p>You can read more in-depth instructions in the <a href="https://web.archive.org/web/20200601151118/https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/">Migrating from ASP.NET Core 1.x to ASP.NET Core 2.0</a> document.</p><h3>Upgrading Libraries</h3><p>You do not need to update libraries to .NET Standard 2.0. .NET Standard 1.x versions will be supported forever and are not considered &#8220;old&#8221; or &#8220;stale&#8221;. .NET Standard is just a spec, so it doesn&#8217;t age in the way that platforms do. In general, libraries should target the lowest version of .NET Standard they can tolerate (for <a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/standard/blob/master/docs/versions.md">maximum .NET implementation applicability</a>) unless they require APIs in higher versions. If you do want to update libraries, you can do it the same way, either in Visual Studio or directly in the project file, as you can see with the following project file segment that target .NET Standard 2.0.</p><div class="highlight highlight-text-xml"><pre> &lt;<span class="pl-ent">PropertyGroup</span>&gt; &lt;<span class="pl-ent">TargetFramework</span>&gt;netstandard2.0&lt;/<span class="pl-ent">TargetFramework</span>&gt; &lt;/<span class="pl-ent">PropertyGroup</span>&gt;</pre></div><p>You can also create libraries that target .NET Core. This is not recommended as a general scenario because .NET Core libraries can only be used by .NET Core applications. They cannot be used by .NET Framework of Xamarin applications, as .NET Standard libraries can (this is why .NET Standard is the recommended target framework for libraries). You should only build .NET Core libraries if you require <a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/standard/blob/master/docs/comparisons/netstandard2.0_vs_netcoreapp2.0/README.md">APIs that are only in .NET Core</a>.</p><h3><a href="#relationship-to-net-core-10-and-11-apps" id="user-content-relationship-to-net-core-10-and-11-apps" class="anchor"></a>Relationship to .NET Core 1.0 and 1.1 Apps</h3><p>You can install .NET Core 2.0 on machines with .NET Core 1.0 and 1.1. Your 1.0 and 1.1 applications will continue to use the 1.0 and 1.1 runtimes, respectively. They will not roll forward to the 2.0 runtime unless you explicitly update your apps to do so.</p><p>By default, the latest SDK is always used. After installing the .NET Core 2.0 SDK, you will use it for all projects, including 1.0 and 1.1 projects. As stated above, 1.0 and 1.1 projects will still use the 1.0 and 1.1 runtimes, respectively.</p><p>You can configure a directory (all the way up to a whole drive) to use a specific SDK by creating a <a href="https://web.archive.org/web/20200601151118/https://docs.microsoft.com/dotnet/core/tools/global-json">global.json file</a> that specifies a specific .NET Core SDK version. All <code>dotnet</code> uses &#8220;under&#8221; that file will use that version of the SDK. If you do that, make sure you have that version installed.</p><h2><a href="#net-core-runtime-improvements" id="user-content-net-core-runtime-improvements" class="anchor"></a>.NET Core Runtime Improvements</h2><p>The .NET Core 2.0 Runtime has the following improvements.</p><h3><a href="#performance-improvements" id="user-content-performance-improvements" class="anchor"></a>Performance Improvements</h3><p>There are many performance improvements in .NET Core 2.0. The team published a few posts describing the improvements to the .NET Core Runtime in detail.</p><ul><li><a href="https://web.archive.org/web/20200601151118/https://blogs.msdn.microsoft.com/dotnet/2017/06/07/performance-improvements-in-net-core/">Performance Improvements in .NET Core</a></li><li><a href="https://web.archive.org/web/20200601151118/https://blogs.msdn.microsoft.com/dotnet/2017/06/29/performance-improvements-in-ryujit-in-net-core-and-net-framework/">Performance Improvements in RyuJIT in .NET Core and .NET Framework</a></li><li><a href="https://web.archive.org/web/20200601151118/https://blogs.msdn.microsoft.com/dotnet/2017/07/20/profile-guided-optimization-in-net-core-2-0/">Profile-guided optimization in .NET Core 2.0</a></li></ul><h3><a href="#net-core-20-implements-net-standard-20" id="user-content-net-core-20-implements-net-standard-20" class="anchor"></a>.NET Core 2.0 Implements .NET Standard 2.0</h3><p>The <a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/announcements/issues/24">.NET Standard 2.0</a> spec has been finalized at the same time as .NET Core 2.0.</p><p>We have more than doubled the set of available APIs in .NET Standard from <strong>13k</strong> in .NET Standard 1.6 to <strong>32k</strong> in .NET Standard 2.0. Most of the added APIs are .NET Framework APIs. These additions make it much easier to port existing code to .NET Standard, and, by extension, to any .NET implementation of .NET Standard, such as .NET Core 2.0 and the upcoming version of Universal Windows Platform (UWP).</p><p>.NET Core 2.0 implements the .NET Standard 2.0 spec: all <strong>32k</strong> APIs that the spec defines.</p><p>You can see a <a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/standard/blob/master/docs/comparisons/netstandard2.0_vs_netcoreapp2.0/README.md">diff between .NET Core 2.0 and .NET Standard 2.0</a> to understand the set of APIs that .NET Core 2.0 provides beyond the set required by the .NET Standard 2.0 spec.</p><h3><a href="#much-easier-to-target-linux-as-a-single-operating-system" id="user-content-much-easier-to-target-linux-as-a-single-operating-system" class="anchor"></a>Much easier to target Linux as a single operating system</h3><p>.NET Core 2.0 treats Linux as a single operating system. There is now a single Linux build (per chip architecture) that works on all Linux distros that we&#8217;ve tested. Our support so far is specific to <a href="https://web.archive.org/web/20200601151118/https://www.gnu.org/software/libc/">glibc</a>-based distros and more specifically Debian- and Red Hat-based Linux distros.</p><p>There are other Linux distros that we would like to support, like those that use <a href="https://web.archive.org/web/20200601151118/https://www.musl-libc.org/">musl</a> C Standard library, such as <a href="https://web.archive.org/web/20200601151118/https://www.alpinelinux.org/">Alpine</a>. Alpine will be supported in a later release.</p><p>Please tell us if the .NET Core 2.0 Linux build doesn’t work well on your favorite Linux distro.</p><p>Similar improvements have been made for Windows and macOS. You can now publish for the following &#8220;runtimes&#8221;.</p><ul><li><code>linux-x64</code>, <code>linux-arm</code></li><li><code>win-x64</code>, <code>win-x86</code></li><li><code>osx-x64</code></li></ul><h3><a href="#linux-arm32-is-now-supported-in-preview" id="user-content-linux-arm32-is-now-supported-in-preview" class="anchor"></a>Linux and Windows ARM32 builds now available, in Preview</h3><p><a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/announcements/issues/29">The .NET Core team is now producing ARM32 builds</a> for .NET Core 2.0+. These builds are great for using on Raspberry Pi. These builds are not yet supported by Microsoft and have preview status.</p><p>The team is producing Runtime and not SDK builds for .NET Core. As a result, you need to build your applications on another operating system and then copy to a Raspberry Pi (or similar device) to run.</p><p>There are two good sources of .NET Core ARM32 samples that you can use to get started:</p><ul><li><a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/core/blob/master/samples/RaspberryPiInstructions.md">.NET Core on Raspberry Pi</a></li><li><a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/dotnet-docker-samples#arm32--raspberry-pi">.NET Core Docker Samples</a></li></ul><h3><a href="#globalization-invariant-mode" id="user-content-globalization-invariant-mode" class="anchor"></a>Globalization Invariant Mode</h3><p>.NET Core 2.0 includes a new <a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/announcements/issues/20">opt-in globalization mode</a> that provides basic globalization-related functionality that is uniform across operating systems and languages. The benefit of this new mode is its uniformity, distribution size, and the absence of any globalization dependencies.</p><p>See <a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/corefx/blob/master/Documentation/architecture/globalization-invariant-mode.md">.NET Core Globalization Invariant Mode</a> to learn more about this feature, and decide whether the new mode is a good choice for your app or if it breaks its functionality.</p><h2><a href="#net-core-sdk-improvements" id="user-content-net-core-sdk-improvements" class="anchor"></a>.NET Core SDK Improvements</h2><p>The .NET Core SDK 2.0 has the following improvements.</p><h3><a href="#dotnet-restore-is-implicit-for-commands-that-require-it" id="user-content-dotnet-restore-is-implicit-for-commands-that-require-it" class="anchor"></a>dotnet restore is implicit for commands that require it</h3><p>The <code>dotnet restore</code> command has been a required set of keystrokes with .NET Core to date. The command installs required project dependencies and some other tasks. It&#8217;s easy to forget to type it and the error messages that tell you that you need to type it are not always helpful. It is now implicitly called on your behalf for commands like <code>run</code>, <code>build</code> and <code>publish</code>.</p><p>The following example workflow demonstates the absense of a required <code>dotnet restore</code> command:</p><div class="highlight highlight-text-shell-session"><pre><span class="pl-c1">C:Usersrich&gt;dotnet new mvc -o mvcapp</span> <span class="pl-c1">The template "ASP.NET Core Web App (Model-View-Controller)" was created successfully.</span> <span class="pl-c1">This template contains technologies from parties other than Microsoft, see https://aka.ms/template-3pn for details.</span> <span class="pl-c1">Processing post-creation actions...</span> <span class="pl-c1">Running 'dotnet restore' on mvcappmvcapp.csproj...</span> <span class="pl-c1"> Restoring packages for C:Usersrichmvcappmvcapp.csproj...</span> <span class="pl-c1"> Restore completed in 32.3 ms for C:Usersrichmvcappmvcapp.csproj.</span> <span class="pl-c1"> Generating MSBuild file C:Usersrichmvcappobjmvcapp.csproj.nuget.g.props.</span> <span class="pl-c1"> Generating MSBuild file C:Usersrichmvcappobjmvcapp.csproj.nuget.g.targets.</span> <span class="pl-c1"> Restore completed in 2.26 sec for C:Usersrichmvcappmvcapp.csproj.</span> <span class="pl-c1">Restore succeeded.</span> <span class="pl-c1">C:Usersrich&gt;cd mvcapp</span> <span class="pl-c1">C:Usersrichmvcapp&gt;dotnet run</span> <span class="pl-c1">Hosting environment: Production</span> <span class="pl-c1">Content root path: C:Usersrichmvcapp</span> <span class="pl-c1">Now listening on: http://localhost:5000</span> <span class="pl-c1">Application started. Press Ctrl+C to shut down.</span> <span class="pl-c1">Application is shutting down...</span></pre></div><h3><a href="#reference-net-framework-libraries-from-net-standard" id="user-content-reference-net-framework-libraries-from-net-standard" class="anchor"></a>Reference .NET Framework libraries from .NET Standard</h3><p>You can now reference .NET Framework libraries from .NET Standard libraries using Visual Studio 2017 15.3. This feature helps you migrate .NET Framework code to .NET Standard or .NET Core over time (start with binaries and then move to source). It is also useful in the case that the source code is no longer accessible or is lost for a .NET Framework library, enabling it to be still be used in new scenarios.</p><p>We expect that this feature will be used most commonly from .NET Standard libraries. It also works for .NET Core apps and libraries. They can depend on .NET Framework libraries, too.</p><p>The supported scenario is referencing a .NET Framework library that happens to only use types within the .NET Standard API set. Also, it is only supported for libraries that target .NET Framework 4.6.1 or earlier (even .NET Framework 1.0 is fine). If the .NET Framework library you reference relies on WPF, the library will not work (or at least not in all cases). You can use libraries that depend on additional APIs,but not for the codepaths you use. In that case, you will need to invest singificantly in testing.</p><p>You can see this feature in use in the following images.</p><p><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/dotnet-standard-interop-with-framework-461-running-app.png"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/dotnet-standard-interop-with-framework-461-running-app.png" alt="" width="1188" height="514" class="aligncenter size-full wp-image-14325" srcset="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/dotnet-standard-interop-with-framework-461-running-app.png 1188w, https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/dotnet-standard-interop-with-framework-461-running-app-300x130.png 300w, https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/dotnet-standard-interop-with-framework-461-running-app-768x332.png 768w, https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/dotnet-standard-interop-with-framework-461-running-app-1024x443.png 1024w" sizes="(max-width: 1188px) 100vw, 1188px"/> </a></p><p>The call stack for this app makes the dependency from .NET Core to .NET Standard to .NET Framework more obvious.</p><p><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/dotnet-standard-interop-with-framework-461-call-stack-1.png"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/dotnet-standard-interop-with-framework-461-call-stack-1.png" alt="" width="717" height="102" class="aligncenter size-full wp-image-14335"/> </a></p><h3><a href="#net-standard-nuget-packages-no-longer-have-required-dependencies" id="user-content-net-standard-nuget-packages-no-longer-have-required-dependencies" class="anchor"></a>.NET Standard NuGet Packages no longer have required dependencies</h3><p>.NET Standard NuGet packages no longer have any required dependencies if they target .NET Standard 2.0 or later. The .NET Standard dependency is now provided by the .NET Core SDK. It isn&#8217;t necessary as a NuGet artifact.</p><p>The following is an example nuspec (recipe for a NuGet package) targeting .NET Standard 2.0.</p><div class="highlight highlight-text-xml"><pre>&lt;?<span class="pl-ent">xml</span><span class="pl-e"> version</span>=<span class="pl-s"><span class="pl-pds">"</span>1.0<span class="pl-pds">"</span></span><span class="pl-e"> encoding</span>=<span class="pl-s"><span class="pl-pds">"</span>utf-8<span class="pl-pds">"</span></span>?&gt; &lt;<span class="pl-ent">package</span> <span class="pl-e">xmlns</span>=<span class="pl-s"><span class="pl-pds">"</span>http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd<span class="pl-pds">"</span></span>&gt; &lt;<span class="pl-ent">metadata</span>&gt; &lt;<span class="pl-ent">id</span>&gt;ClassLibrary1&lt;/<span class="pl-ent">id</span>&gt; &lt;<span class="pl-ent">version</span>&gt;1.0.0&lt;/<span class="pl-ent">version</span>&gt; &lt;<span class="pl-ent">authors</span>&gt;ClassLibrary1&lt;/<span class="pl-ent">authors</span>&gt; &lt;<span class="pl-ent">owners</span>&gt;ClassLibrary1&lt;/<span class="pl-ent">owners</span>&gt; &lt;<span class="pl-ent">requireLicenseAcceptance</span>&gt;false&lt;/<span class="pl-ent">requireLicenseAcceptance</span>&gt; &lt;<span class="pl-ent">description</span>&gt;Package Description&lt;/<span class="pl-ent">description</span>&gt; &lt;<span class="pl-ent">dependencies</span>&gt; &lt;<span class="pl-ent">group</span> <span class="pl-e">targetFramework</span>=<span class="pl-s"><span class="pl-pds">"</span>.NETStandard2.0<span class="pl-pds">"</span></span> /&gt; &lt;/<span class="pl-ent">dependencies</span>&gt; &lt;/<span class="pl-ent">metadata</span>&gt; &lt;/<span class="pl-ent">package</span>&gt;</pre></div><p>The following is an example nuspec (recipe for a NuGet package) targeting .NET Standard 1.4.</p><div class="highlight highlight-text-xml"><pre>&lt;?<span class="pl-ent">xml</span><span class="pl-e"> version</span>=<span class="pl-s"><span class="pl-pds">"</span>1.0<span class="pl-pds">"</span></span><span class="pl-e"> encoding</span>=<span class="pl-s"><span class="pl-pds">"</span>utf-8<span class="pl-pds">"</span></span>?&gt; &lt;<span class="pl-ent">package</span> <span class="pl-e">xmlns</span>=<span class="pl-s"><span class="pl-pds">"</span>http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd<span class="pl-pds">"</span></span>&gt; &lt;<span class="pl-ent">metadata</span>&gt; &lt;<span class="pl-ent">id</span>&gt;ClassLibrary1&lt;/<span class="pl-ent">id</span>&gt; &lt;<span class="pl-ent">version</span>&gt;1.0.0&lt;/<span class="pl-ent">version</span>&gt; &lt;<span class="pl-ent">authors</span>&gt;ClassLibrary1&lt;/<span class="pl-ent">authors</span>&gt; &lt;<span class="pl-ent">owners</span>&gt;ClassLibrary1&lt;/<span class="pl-ent">owners</span>&gt; &lt;<span class="pl-ent">requireLicenseAcceptance</span>&gt;false&lt;/<span class="pl-ent">requireLicenseAcceptance</span>&gt; &lt;<span class="pl-ent">description</span>&gt;Package Description&lt;/<span class="pl-ent">description</span>&gt; &lt;<span class="pl-ent">dependencies</span>&gt; &lt;<span class="pl-ent">group</span> <span class="pl-e">targetFramework</span>=<span class="pl-s"><span class="pl-pds">"</span>.NETStandard1.4<span class="pl-pds">"</span></span>&gt; &lt;<span class="pl-ent">dependency</span> <span class="pl-e">id</span>=<span class="pl-s"><span class="pl-pds">"</span>NETStandard.Library<span class="pl-pds">"</span></span> <span class="pl-e">version</span>=<span class="pl-s"><span class="pl-pds">"</span>1.6.1<span class="pl-pds">"</span></span> <span class="pl-e">exclude</span>=<span class="pl-s"><span class="pl-pds">"</span>Build,Analyzers<span class="pl-pds">"</span></span> /&gt; &lt;/<span class="pl-ent">group</span>&gt; &lt;/<span class="pl-ent">dependencies</span>&gt; &lt;/<span class="pl-ent">metadata</span>&gt; &lt;/<span class="pl-ent">package</span>&gt;</pre></div><h2><a href="#visual-studio-2017-version-153-updates" id="user-content-visual-studio-2017-version-153-updates" class="anchor"></a>Visual Studio 2017 version 15.3 updates</h2><h3><a href="#side-by-side-sdks" id="user-content-side-by-side-sdks" class="anchor"></a>Side-by-Side SDKs</h3><p>Visual Studio now has the ability to recognize the install of an updated .NET Core SDK and light up corresponding tooling within Visual Studio. With 15.3, Visual Studio now provides side-by-side support for .NET Core SDKs and defaults to utilizing the highest version installed in the machine when creating new projects while giving you the flexibility to specify and use older versions if needed, via the use of global.json file. Thus, a single version of Visual Studio can now build projects that target different versions of .NET Core.</p><h3><a href="#support-for-visual-basic" id="user-content-support-for-visual-basic" class="anchor"></a>Support for Visual Basic</h3><p>In addition to supporting C# and F#, 15.3 now also supports using Visual Basic to develop .NET Core apps. Our aim with Visual Basic this release was to enable .NET Standard 2.0 class libraries. This means Visual Basic only offers templates for class libraries and console apps at this time, while C# and F# also include templates for ASP.NET Core 2.0 apps. Keep an eye on this blog for updates.</p><h3><a href="#live-unit-testing-support" id="user-content-live-unit-testing-support" class="anchor"></a>Live Unit Testing Support</h3><p><a href="https://web.archive.org/web/20200601151118/https://docs.microsoft.com/en-us/visualstudio/test/live-unit-testing">Live Unit Testing (LUT)</a> is a new feature we introduced in Visual Studio 2017 enterprise edition and with 15.3 it now supports .NET Core. Users who are passionate with Test Driven Development (TDD) will certainly love this new addition. Starting LUT is as simple as turning it ON from the menu bar: Test-&gt;Live Unit Testing-&gt;Start.</p><p>When you enable LUT, you will get unit test coverage and pass/fail feedback live in the code editor as you type. Notice the green ticks and red x’s shown in the code editor in image below.</p><p><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/LUT.png"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/LUT.png" alt="" width="975" height="628" class="aligncenter size-full wp-image-14345" srcset="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/LUT.png 975w, https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/LUT-300x193.png 300w, https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/LUT-768x495.png 768w" sizes="(max-width: 975px) 100vw, 975px"/> </a></p><p>&nbsp;</p><h3><a href="#ide-productivity-enhancements" id="user-content-ide-productivity-enhancements" class="anchor"></a>IDE Productivity enhancements</h3><p>Visual Studio 2017 15.3 has several productivity enhancements to help you write better code faster. We now support <a href="https://web.archive.org/web/20200601151118/https://docs.microsoft.com/visualstudio/ide/editorconfig-code-style-settings-reference">.NET naming conventions and formatting rules in EditorConfig</a> allowing your team to enforce and configure almost any coding convention for your codebase.</p><p>With regards to navigation improvements, we’ve added support for camelCase matching in GoToAll (Ctrl+T), so that you can navigate to any file/type/member/symbol declaration just by typing cases (e.g., “bh” for “BusHelpers.cs”). You’ll also notice suggested variable names (Fig.2) as you are typing (which will adhere to any code style configured in your team’s EditorConfig).</p><p><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/var_name_suggestion.png"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/var_name_suggestion.png" alt="" width="1342" height="191" class="aligncenter size-full wp-image-14347" srcset="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/var_name_suggestion.png 1342w, https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/var_name_suggestion-300x43.png 300w, https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/var_name_suggestion-768x109.png 768w, https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/var_name_suggestion-1024x146.png 1024w" sizes="(max-width: 1342px) 100vw, 1342px"/> </a></p><p>We’ve added a handful of new refactorings including:</p><ul><li>Resolve merge conflict</li><li>Add parameter (from callsite)</li><li>Generate overrides</li><li>Add named argument</li><li>Add null-check for parameters</li><li>Insert digit-separators into literals</li><li>Change base for numeric literals (e.g., hex to binary)</li><li>Convert if-to-switch</li><li>Remove unused variable</li></ul><h3><a href="#project-system-simplifications" id="user-content-project-system-simplifications" class="anchor"></a>Project System simplifications</h3><p>We further simplified the .csproj project file by removing some unnecessary elements that were confusing to users and wherever possible we now derive them implicitly. Simplification trickles down to Solution Explorer view as well. Nodes in Solution Explorer are now neatly organized into categories within the Dependencies node, like NuGet, project-to-project references, SDK, etc.</p><p><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/proj_system_simplification.1.png"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2017/08/proj_system_simplification.1.png" alt="" width="380" height="487" class="aligncenter size-full wp-image-14355"/> </a></p><p>Another enhancement made to the .NET Core project system is that it is now more efficient when it comes to builds. If nothing changed and the project appears to be up to date since the last build, then it won’t waste build cycles.</p><h2><a href="#docker" id="user-content-docker" class="anchor"></a>Docker</h2><p>Several important <a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/announcements/issues?q=is%3Aissue+is%3Aopen+label%3ADocker">improvements</a> were made to .NET Core support for Docker during the 2.0 project.</p><ul><li><a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/announcements/issues/28">Docker latest tag moved to .NET Core 2.0</a></li><li><a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/announcements/issues/27">microsoft/dotnet Docker Hub README adopted segmented OS/Arch style</a></li><li><a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/announcements/issues/29">Linux ARM32 Docker images are now available</a>.</li><li><a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/announcements/issues/16">.NET Core 2.0 multi-arch tags now use Debian Stretch</a></li><li><a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/announcements/issues/14">.NET Core Docker images use multi-arch based tags</a></li><li><a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/announcements/issues/18">.NET Core supports Multi-Stage Build</a></li></ul><h2><a href="#support-and-lifecycle" id="user-content-support-and-lifecycle" class="anchor"></a>Support and Lifecycle</h2><p>.NET Core 2.0 is a new release, <a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/core/blob/master/microsoft-support.md">supported by Microsoft</a> . You can start using it immediately for development and production.</p><p>Microsoft has two support levels: Long Term Support (LTS) and Current release. LTS releases have three years of support and Current releases are shorter, typically around a year, but potentially shorter. .NET Core 1.0 and 1.1 are LTS releases. You can read more about these support levels in the <a href="https://web.archive.org/web/20200601151118/https://blogs.msdn.microsoft.com/dotnet/2016/07/26/net-support-and-versioning/">.NET Support and Versioning</a> post. In that post, &#8220;Current&#8221; releases are referred to as &#8220;Fast Track Support&#8221;.</p><p>.NET Core 2.0 is a Current release. We are waiting to get your feedback on quality and reliability before switching to LTS support. In general, we want to make sure that LTS releases are at the stage where we only need to provide security fixes for them. Once you deploy an app with an LTS release, you shouldn&#8217;t have to update it much, at least not due to platform updates.</p><h3><a href="#net-core-11" id="user-content-net-core-11" class="anchor"></a>.NET Core 1.1</h3><p>.NET Core 1.1 has transitioned to LTS Support, adopting the same LTS timeframe as .NET Core 1.0.</p><p>.NET Core 1.0 and 1.1 will both go out of support on June 27, 2019 or 12 months after the .NET Core 2.0 LTS release, whichever is shorter.</p><p>We recommend that all 1.0 customers move to 1.1, if not to 2.0. .NET Core 1.1 has important usability fixes in it that make for a significantly better development experience than 1.0.</p><h3><a href="#red-hat" id="user-content-red-hat" class="anchor"></a>Red Hat</h3><p>Red Hat also provides full support for .NET Core on RHEL and will be providing a distribution of .NET Core 2.0 very soon. We’re excited to see our partners like Red Hat follow our release so quickly. For more information head to <a href="https://web.archive.org/web/20200601151118/http://www.redhatloves.net/">RedHatLoves.NET</a>.</p><h2><a href="#closing" id="user-content-closing" class="anchor"></a>Closing</h2><p>We&#8217;re very excited on this significant milestone for .NET Core. Not only is the 2.0 release our fastest version of .NET ever, the .NET Standard 2.0 delivers on the promise of .NET everywhere. In conjunction with the Visual Studio family, .NET Core provides the most productive development platform for developers using MacOS or Linux as well as Windows. We encourage you to download the latest .NET Core SDK from <a href="https://web.archive.org/web/20200601151118/https://dot.net/core">https://dot.net/core</a> and start working with this new version of .NET Core.</p><p><span>Please share feedback and any issues you encounter at </span><a href="https://web.archive.org/web/20200601151118/https://github.com/dotnet/core/issues/812">dotnet/core #812</a><span>.</span></p><p>Watch the <a href="https://web.archive.org/web/20200601151118/https://aka.ms/dotnetcore2launchvideo">launch video for .NET Core 2.0</a> to see this new release in action.</p><div class="row justify-content-center"></div><div style="clear: both; padding-bottom: 10px;"></div><div class="authorinfoarea" style="margin: 30px 0;padding: 24px 0;border-top:1px #A6A6A6 solid;"><div class="post-authoravatar" style="float:left; margin-right:20px;"><img src="https://web.archive.org/web/20200601151118im_/https://secure.gravatar.com/avatar/37f91ebe219df737566a4dc7cdd53b68?s=96&amp;d=mm&amp;r=g" width="96" height="96" alt="Avatar" class="avatar avatar-96 wp-user-avatar wp-user-avatar-96 photo avatar-default"/></div><h5 class="post-authorname"><a class="no-underline" aria-label="Richard Lander" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/author/richlander-ca/">Richard Lander</a></h5><div class="social-links"><p>Program Manager, .NET Team</p><p><strong>Follow </strong><a class="no-underline stayinformed" aria-label="Richard Lander LinkedIn profile" target="_blank" href="https://web.archive.org/web/20200601151118/https://www.linkedin.com/in/richardlander/"><i class="fa fa-linkedin"></i></a><a class="no-underline stayinformed" aria-label="Richard Lander GitHub profile" target="_blank" href="https://web.archive.org/web/20200601151118/https://github.com/richlander"><i class="fa fa-github"></i></a><a class="no-underline stayinformed hvr-pop" aria-label="Richard Lander RSS Feed" target="_blank" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/author/richlander-ca/feed/"><i class="fa fa-rss"></i></a></p><div style="clear:both;"></div></div></div></div></div><footer class="cattagsarea"> <span class="cat-links">Posted in <a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/dot-net/" rel="category tag">Dot.Net</a></span></footer></article><div class="related-postssection"><h5>Read next</h5><div class="row related-articles"><article class="col-md-6"><div class="post-card"> <a class="article-title" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/f-and-net-core-roadmap-update/">F# and .NET Core Roadmap Update</a><div class="post-desc">Now that .NET Core 2.0 has been released, we wanted to take some time to talk about F# and .NET Core. F# and .NET Core 1.0 F# has been supported on .NET Core and .NET Sta</div><div class="author-details"> <a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/author/phcartmicrosoft-com/"><span class="avatar-img"><img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2018/10/Phillip-Carter-150x150.png" width="100" height="100" alt="Phillip Carter" class="avatar avatar-100 wp-user-avatar wp-user-avatar-100 alignnone photo"/></span> <span class="author-name">Phillip Carter</span> <span class="post-date">August 14, 2017</span></a></div><div class="post-comments"> <a class="comment-icon" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/f-and-net-core-roadmap-update//#comments"><svg width="17" height="17" class="mr-1" viewbox="0 0 18 17" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M0 0.125H18V12.5H6.4248L2.25 16.6748V12.5H0V0.125ZM16.875 11.375V1.25H1.125V11.375H3.375V13.9502L5.9502 11.375H16.875Z" fill="#0078D4"/> </svg> 1 comment</a></div></div></article><article class="col-md-6"><div class="post-card"> <a class="article-title" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/the-week-in-net-net-core-2-0-asp-net-core-2-0-entity-framework-2-0-visual-studio-2017-update-3-enterprise-entity-framework-core-in-boston-and-links/">The week in .NET &#8211; .NET Core 2.0, ASP.NET Core 2.0, Entity Framework Core 2.0, Visual Studio 2017 Update 3, enterprise Entity Framework Core in Boston, and links!</a><div class="post-desc">Previous posts: .NET Core 2.0, ASP.NET Core 2.0, Entity Framework 2.0, and Visual Studio 2017 Update 3 launched! This is a week to celebrate for the .NET community,</div><div class="author-details"> <a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/author/bertrand-le-roy/"><span class="avatar-img"><img src="https://web.archive.org/web/20200601151118im_/https://secure.gravatar.com/avatar/3167fa1b890ffe735393de7d6296e32d?s=100&amp;d=mm&amp;r=g" width="100" height="100" alt="Avatar" class="avatar avatar-100 wp-user-avatar wp-user-avatar-100 photo avatar-default"/></span> <span class="author-name">Bertrand Le Roy</span> <span class="post-date">August 15, 2017</span></a></div><div class="post-comments"> <a class="comment-icon" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/the-week-in-net-net-core-2-0-asp-net-core-2-0-entity-framework-2-0-visual-studio-2017-update-3-enterprise-entity-framework-core-in-boston-and-links//#comments"><svg width="17" height="17" class="mr-1" viewbox="0 0 18 17" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M0 0.125H18V12.5H6.4248L2.25 16.6748V12.5H0V0.125ZM16.875 11.375V1.25H1.125V11.375H3.375V13.9502L5.9502 11.375H16.875Z" fill="#0078D4"/> </svg> 4 comments</a></div></div></article></div></div><div id="comments" class="comments-area"><h2 class="comments-title"> 50 comments</h2><div id="respond" class="comment-respond"><h3 id="reply-title" class="comment-reply-title"><a href="javascript:void(0)" title="Leave a comment">Leave a comment</a><span class="screen-reader-only"><a rel="nofollow" id="cancel-comment-reply-link" href="/web/20200601151118/https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#respond" style="display:none;">Cancel reply</a></span></h3><p class="must-log-in"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comments">Log in</a> to join the discussion.</p></div><ul class="commentlist"><li class="comment byuser comment-author-samsulalam even thread-even depth-1" id="li-comment-3722"><article id="comment-3722" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2019/10/user-9624-150x150.png" width="40" height="40" alt="samsul alam" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> samsul alam </span> <span class="comment-date"> <time pubdate datetime="2019-10-31T16:08:37-07:00"> October 31, 2019 4:08 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-3722"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-3722"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-3722"><p>Enjoy303 adalah Agen situs Judi Bola Sbobet Resmi dan Agen Judi Casino online Terbaik serta Terpercaya Indonesia dengan transaksi aktif 24 jam dan permainan lengkap</p><p><a href="https://web.archive.org/web/20200601151118/http://112.140.185.78/">http://112.140.185.78/</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-3722">Log in to Reply</a></div></footer></article><ul class="children"><li class="comment byuser comment-author-admir odd alt depth-2" id="li-comment-4840"><article id="comment-4840" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/03/user-20449-150x150.jpg" width="40" height="40" alt="Admir" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> Admir </span> <span class="comment-date"> <time pubdate datetime="2020-03-04T23:59:57-07:00"> March 4, 2020 11:59 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-4840"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-4840"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-4840"><p>Cool and interesting stuff. Keep up the great job! Follow me on my blog <a href="https://web.archive.org/web/20200601151118/https://gymmembershipfees.com/">here</a>.</p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-4840">Log in to Reply</a></div></footer></article></li></ul></li><li class="comment byuser comment-author-lauraceline even thread-odd thread-alt depth-1" id="li-comment-3732"><article id="comment-3732" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2019/11/user-9730-150x150.jpg" width="40" height="40" alt="laura celine" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> laura celine </span> <span class="comment-date"> <time pubdate datetime="2019-11-01T16:59:10-07:00"> November 1, 2019 4:59 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-3732"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-3732"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-3732"><p><a href="https://web.archive.org/web/20200601151118/http://202.95.10.165/">http://202.95.10.165</a> Adalah Situs Poker Online, Bandar Domino Agen Judi Online Terpercaya Permainan Poker Online, Domino QQ, Capsa Susun, Adu Q dan Bandar Sakong</p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-3732">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-gracenyara odd alt thread-even depth-1" id="li-comment-3736"><article id="comment-3736" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2019/11/user-9750-150x150.jpg" width="40" height="40" alt="Grace Nyara" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> Grace Nyara </span> <span class="comment-date"> <time pubdate datetime="2019-11-01T23:23:51-07:00"> November 1, 2019 11:23 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-3736"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-3736"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-3736"><p>Bello! I&#8217;m Grace Im a Internet Marketing Online In Indonesia. Please support me .. This my Website : <a href="https://web.archive.org/web/20200601151118/http://112.140.185.78/">http://112.140.185.78</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-3736">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-lindarensiagmail-com even thread-odd thread-alt depth-1" id="li-comment-3743"><article id="comment-3743" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://secure.gravatar.com/avatar/344792a656e3774544c6816d0e159809?s=40&amp;d=mm&amp;r=g" width="40" height="40" alt="Avatar" class="avatar avatar-40wp-user-avatar wp-user-avatar-40 alignnone photo avatar-default"/></div><header> <span class="author-name"> Linda Rensia </span> <span class="comment-date"> <time pubdate datetime="2019-11-03T13:09:02-07:00"> November 3, 2019 1:09 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-3743"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-3743"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-3743"><p>Please visit and join to my site at Situs Poker Online : <a href="https://web.archive.org/web/20200601151118/http://202.95.10.165/">http://202.95.10.165</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-3743">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-vanessarensiaoutlook-com odd alt thread-even depth-1" id="li-comment-3744"><article id="comment-3744" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://secure.gravatar.com/avatar/671ae8b384177517378d2fec0521107d?s=40&amp;d=mm&amp;r=g" width="40" height="40" alt="Avatar" class="avatar avatar-40wp-user-avatar wp-user-avatar-40 alignnone photo avatar-default"/></div><header> <span class="author-name"> Vanessa Rensia </span> <span class="comment-date"> <time pubdate datetime="2019-11-03T13:17:04-07:00"> November 3, 2019 1:17 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-3744"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-3744"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-3744"><p>Please visit and join to my site at Agen Domino : <a href="https://web.archive.org/web/20200601151118/http://202.95.10.166/">http://202.95.10.166</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-3744">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-stevanuslionardo even thread-odd thread-alt depth-1" id="li-comment-3755"><article id="comment-3755" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2019/11/user-9921-150x150.png" width="40" height="40" alt="stevanus lionardo" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> stevanus lionardo </span> <span class="comment-date"> <time pubdate datetime="2019-11-04T10:34:17-07:00"> November 4, 2019 10:34 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-3755"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-3755"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-3755"><p>ENJOYQQ adalah sebuah situs judi online terbaik di Indonesia. situs terbaik dengan berbagai ragam macam permainan games terbaik yang dihadirkan <a href="https://web.archive.org/web/20200601151118/http://202.95.10.165/">http://202.95.10.165</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-3755">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-fitrihutapea odd alt thread-even depth-1" id="li-comment-3823"><article id="comment-3823" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2019/11/user-10549-150x150.jpg" width="40" height="40" alt="Fitri Hutapea" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> Fitri Hutapea </span> <span class="comment-date"> <time pubdate datetime="2019-11-07T00:09:04-07:00"> November 7, 2019 12:09 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-3823"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-3823"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-3823"><p><a href="https://web.archive.org/web/20200601151118/http://112.140.185.78/">http://112.140.185.78/</a> adalah Agen situs Judi Bola Sbobet Resmi dan Agen Judi Casino online Terbaik serta Terpercaya Indonesia dengan transaksi aktif 24 jam dan permainan lengkap</p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-3823">Log in to Reply</a></div></footer></article><ul class="children"><li class="comment byuser comment-author-michiyohoo even depth-2" id="li-comment-3824"><article id="comment-3824" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2019/11/user-10574-150x150.jpg" width="40" height="40" alt="Michiyo Hoo" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> Michiyo Hoo </span> <span class="comment-date"> <time pubdate datetime="2019-11-07T02:51:31-07:00"> November 7, 2019 2:51 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-3824"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-3824"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-3824"><p>Hi, Introducing my name is Michiyo Hoo &#8230; Usually called Angel &#8230; I&#8217;m a 21-year-old woman who works in the biggest gambling company in Indonesia. let&#8217;s see my blog at <a href="https://web.archive.org/web/20200601151118/http://112.140.185.78/">http://112.140.185.78/</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-3824">Log in to Reply</a></div></footer></article><ul class="children"><li class="comment byuser comment-author-verenciarensia odd alt depth-3" id="li-comment-3907"><article id="comment-3907" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2019/11/user-11063-150x150.png" width="40" height="40" alt="Verencia Rensia" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> Verencia Rensia </span> <span class="comment-date"> <time pubdate datetime="2019-11-11T15:11:32-07:00"> November 11, 2019 3:11 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-3907"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-3907"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-3907"><p>Daftar Akun PRO Situs Judi Online : <a href="https://web.archive.org/web/20200601151118/https://situsrajabola.net/mengenal-dan-cara-mendaftar-akun-pro/">https://situsrajabola.net/mengenal-dan-cara-mendaftar-akun-pro/</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-3907">Log in to Reply</a></div></footer></article><ul class="children"><li class="comment byuser comment-author-awdella even depth-4" id="li-comment-3912"><article id="comment-3912" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2019/11/user-11090-150x150.jpg" width="40" height="40" alt="Aw Della" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> Aw Della </span> <span class="comment-date"> <time pubdate datetime="2019-11-11T22:47:24-07:00"> November 11, 2019 10:47 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-3912"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-3912"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-3912"><p>My name is AwDella usually called beby ella, i am 25 years old.<br/> let&#8217;s go! see updated and most unique news blog collection only at <a href="https://web.archive.org/web/20200601151118/http://www.beritaindo.biz/">http://www.beritaindo.biz/</a></p><p>Berita Terupdate<br/> Berita Terkini<br/> Berita Terlengkap<br/> Situs Berita Dunia<br/> Berita Dunia<br/> Situs Berita Online<br/> Situs Terupdate<br/> Situs Terlengkap<br/> Berita hot<br/> Info bokep<br/> Berita humor<br/> Berita dewasa<br/> Berita bokep</p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-3912">Log in to Reply</a></div></footer></article><ul class="children"><li class="comment byuser comment-author-febyrensiagmail-com odd alt depth-5" id="li-comment-4646"><article id="comment-4646" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://secure.gravatar.com/avatar/7b67d828fbe7512115e5780d1598232d?s=40&amp;d=mm&amp;r=g" width="40" height="40" alt="Avatar" class="avatar avatar-40wp-user-avatar wp-user-avatar-40 alignnone photo avatar-default"/></div><header> <span class="author-name"> Feby Rensia </span> <span class="comment-date"> <time pubdate datetime="2020-02-16T15:16:06-07:00"> February 16, 2020 3:16 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-4646"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-4646"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-4646"><p>Cari Cheat Id Judi ? langsung kesini aja guys ! DIJAMIN TERPERCAYA &amp; AMAN : <a href="https://web.archive.org/web/20200601151118/https://situsrajabola.xyz/cheat-id-judi/">Cheat Id Judi</a></p></div><footer> <span class="voting"> </span><div class="reply"></div></footer></article></li></ul></li></ul></li></ul></li></ul></li><li class="comment byuser comment-author-florenciawijaya even thread-odd thread-alt depth-1" id="li-comment-3942"><article id="comment-3942" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2019/11/user-11475-150x150.jpg" width="40" height="40" alt="florencia wijaya" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> florencia wijaya </span> <span class="comment-date"> <time pubdate datetime="2019-11-15T01:02:39-07:00"> November 15, 2019 1:02 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-3942"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-3942"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-3942"><p><a href="https://web.archive.org/web/20200601151118/http://situsduniabola.net/">http://situsduniabola.net/</a> adalah Kumpulan Situs Judi, Daftar Agen Bola, Situs Judi bola. dan Agen casino sbobet online. Agen Taruhan Bola dan Agen Casino Terbesar Indonesia</p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-3942">Log in to Reply</a></div></footer></article><ul class="children"><li class="comment byuser comment-author-febyrensiagmail-com odd alt depth-2" id="li-comment-4647"><article id="comment-4647" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://secure.gravatar.com/avatar/7b67d828fbe7512115e5780d1598232d?s=40&amp;d=mm&amp;r=g" width="40" height="40" alt="Avatar" class="avatar avatar-40wp-user-avatar wp-user-avatar-40 alignnone photo avatar-default"/></div><header> <span class="author-name"> Feby Rensia </span> <span class="comment-date"> <time pubdate datetime="2020-02-16T15:16:25-07:00"> February 16, 2020 3:16 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-4647"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-4647"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-4647"><p>Cari Cheat Id Judi ? langsung kesini aja guys ! DIJAMIN TERPERCAYA &amp; AMAN : <a href="https://web.archive.org/web/20200601151118/https://situsrajabola.xyz/cheat-id-judi/">Cheat Id Judi</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-4647">Log in to Reply</a></div></footer></article></li></ul></li><li class="comment byuser comment-author-theking even thread-even depth-1" id="li-comment-3955"><article id="comment-3955" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2019/11/user-11652-150x150.png" width="40" height="40" alt="The King" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> The King </span> <span class="comment-date"> <time pubdate datetime="2019-11-17T04:59:19-07:00"> November 17, 2019 4:59 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-3955"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-3955"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-3955"><p><a href="https://web.archive.org/web/20200601151118/http://www.enjoybandarq.id/daftar-akun-super-pro-pkv-games/">http://www.enjoybandarq.id/daftar-akun-super-pro-pkv-games/</a> adalah Cara Mendaftar Akun ID Super Pro PKV Games Terpercaya Di Seluruh Situs Poker Online.</p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-3955">Log in to Reply</a></div></footer></article><ul class="children"><li class="comment byuser comment-author-awdella odd alt depth-2" id="li-comment-3960"><article id="comment-3960" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2019/11/user-11090-150x150.jpg" width="40" height="40" alt="Aw Della" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> Aw Della </span> <span class="comment-date"> <time pubdate datetime="2019-11-18T22:28:56-07:00"> November 18, 2019 10:28 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-3960"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-3960"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-3960"><p>My name is AwDella usually called beby ella, i am 25 years old.<br/> let&#8217;s go! see updated and most unique news blog collection only at <a href="https://web.archive.org/web/20200601151118/http://www.beritaindo.biz/">http://www.beritaindo.biz/</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-3960">Log in to Reply</a></div></footer></article></li></ul></li><li class="comment byuser comment-author-masterpoker even thread-odd thread-alt depth-1" id="li-comment-3968"><article id="comment-3968" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/04/user-11914-150x150.jpg" width="40" height="40" alt="master poker" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> master poker </span> <span class="comment-date"> <time pubdate datetime="2019-11-19T18:06:07-07:00"> November 19, 2019 6:06 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-3968"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-3968"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-3968"><p><a href="https://web.archive.org/web/20200601151118/https://masterpkr.com/akunmaster/">https://masterpkr.com/akunmaster/</a> merupakan sebuah akun judi online dengan tingkat kemenangan yang jauh lebih tinggi di bandingkan dengan akun biasa.</p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-3968">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-marioowuss odd alt thread-even depth-1" id="li-comment-3978"><article id="comment-3978" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2019/11/user-12308-150x150.jpg" width="40" height="40" alt="Marioo Wuss" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> Marioo Wuss </span> <span class="comment-date"> <time pubdate datetime="2019-11-24T06:04:51-07:00"> November 24, 2019 6:04 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-3978"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-3978"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-3978"><p><a href="https://web.archive.org/web/20200601151118/http://ngc2003.org/">http://ngc2003.org/</a> adalah Situs Poker Online, Bandar Domino Agen Judi Online Terpercaya Permainan Poker Online, Domino QQ, Capsa Susun, Adu Q dan Bandar Sakong</p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-3978">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-joyichandra even thread-odd thread-alt depth-1" id="li-comment-3984"><article id="comment-3984" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2019/11/user-12379-150x150.jpg" width="40" height="40" alt="joyi chandra" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> joyi chandra </span> <span class="comment-date"> <time pubdate datetime="2019-11-25T04:25:20-07:00"> November 25, 2019 4:25 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-3984"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-3984"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-3984"><p>Bello! I&#8217;m Rex Im a Internet Marketing Online In Indonesia. Please support me .. This my Website : <a href="https://web.archive.org/web/20200601151118/http://visitrongelap.com/">http://visitrongelap.com</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-3984">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-carissawijaya odd alt thread-even depth-1" id="li-comment-4023"><article id="comment-4023" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2019/11/user-12787-150x150.jpg" width="40" height="40" alt="Carissa Wijaya" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> Carissa Wijaya </span> <span class="comment-date"> <time pubdate datetime="2019-11-28T22:42:32-07:00"> November 28, 2019 10:42 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-4023"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-4023"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-4023"><p>Mendaftar di Situs Judi Online Dengan Akun Premium paling TERPERCAYA : <a href="https://web.archive.org/web/20200601151118/https://situsduniabola.net/akun-premium/">https://situsduniabola.net/akun-premium/</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-4023">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-jemmyrova even thread-odd thread-alt depth-1" id="li-comment-4029"><article id="comment-4029" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2019/11/user-12874-150x150.png" width="40" height="40" alt="jemmy rova" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> jemmy rova </span> <span class="comment-date"> <time pubdate datetime="2019-11-30T03:22:38-07:00"> November 30, 2019 3:22 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-4029"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-4029"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-4029"><p><a href="https://web.archive.org/web/20200601151118/http://berkeley-hyperloop.com/">http://berkeley-hyperloop.com/</a> adalah Situs yang memberikan info kumpulan situs domino di Indonesia seperti situs domino qq, situs domino 99 atau agen domino 99 hingga agen domino qq online terbaik</p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-4029">Log in to Reply</a></div></footer></article><ul class="children"><li class="comment byuser comment-author-jejebernice odd alt depth-2" id="li-comment-4118"><article id="comment-4118" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2019/12/user-13310-150x150.png" width="40" height="40" alt="Jeje bernice" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> Jeje bernice </span> <span class="comment-date"> <time pubdate datetime="2019-12-05T03:50:11-07:00"> December 5, 2019 3:50 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-4118"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-4118"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-4118"><p>Yuk bergabung dan bermain di Situs paling TERPERCAYA: <a href="https://web.archive.org/web/20200601151118/http://situsrajabola.net/">http://situsrajabola.net/</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-4118">Log in to Reply</a></div></footer></article><ul class="children"><li class="comment byuser comment-author-seotips even depth-3" id="li-comment-4749"><article id="comment-4749" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/02/user-19962-150x150.png" width="40" height="40" alt="SEO Tips" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> SEO Tips </span> <span class="comment-date"> <time pubdate datetime="2020-02-28T10:24:07-07:00"> February 28, 2020 10:24 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-4749"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-4749"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-4749"><p>Awesome blog, it is the best blog in the world: <a href="https://web.archive.org/web/20200601151118/https://whatmattered.com/">https://whatmattered.com/</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-4749">Log in to Reply</a></div></footer></article></li></ul></li></ul></li><li class="comment byuser comment-author-mantapcuk odd alt thread-even depth-1" id="li-comment-4256"><article id="comment-4256" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2019/12/user-14043-150x150.jpg" width="40" height="40" alt="mantap cuk" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> mantap cuk </span> <span class="comment-date"> <time pubdate datetime="2019-12-12T18:14:08-07:00"> December 12, 2019 6:14 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-4256"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-4256"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-4256"><p><a href="https://web.archive.org/web/20200601151118/http://screwliberals.com/">http://screwliberals.com/</a> adalah website Kumpulan situs judi online, situs judi poker, agen judi poker serta daftar agen judi poker, daftar situs poker dan situs judi online poker terbesar di Indonesia</p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-4256">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-infopermainan even thread-odd thread-alt depth-1" id="li-comment-4484"><article id="comment-4484" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/01/user-16475-150x150.png" width="40" height="40" alt="info permainan" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> info permainan </span> <span class="comment-date"> <time pubdate datetime="2020-01-16T09:43:21-07:00"> January 16, 2020 9:43 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-4484"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-4484"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-4484"><p>This is one of the best website I have seen in a long time thankyou so much, thankyou for let me share this website to all my friends<br/> <a href="https://web.archive.org/web/20200601151118/https://infopermainan.com/">https://infopermainan.com/</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-4484">Log in to Reply</a></div></footer></article></li><li class="comment odd alt thread-even depth-1" id="li-comment-4578"><article id="comment-4578" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://secure.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=40&amp;d=mm&amp;r=g" width="40" height="40" alt="Avatar" class="avatar avatar-40wp-user-avatar wp-user-avatar-40 alignnone photo avatar-default"/></div><header> <span class="author-name"> امتيازعلى امتيازعلى </span> <span class="comment-date"> <time pubdate datetime="2020-02-07T02:45:27-07:00"> February 7, 2020 2:45 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-4578"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-4578"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-4578"><p>this comment has been deleted.</p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-4578">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-7betasiasgp even thread-odd thread-alt depth-1" id="li-comment-4590"><article id="comment-4590" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/02/user-18384-150x150.png" width="40" height="40" alt="7betasia sgp" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> 7betasia sgp </span> <span class="comment-date"> <time pubdate datetime="2020-02-09T19:05:24-07:00"> February 9, 2020 7:05 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-4590"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-4590"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-4590"><p>7betasiasgp merupakan situs togel singapore terpercaya dan teraman di indonesia,<br/> silahkan cek websitenya hanya di <a href="https://web.archive.org/web/20200601151118/http://66.42.57.19/results/index/country/SGP">http://66.42.57.19/results/index/country/SGP</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-4590">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-tentago odd alt thread-even depth-1" id="li-comment-4607"><article id="comment-4607" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/02/user-18508-150x150.jpg" width="40" height="40" alt="Ten Tago" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> Ten Tago </span> <span class="comment-date"> <time pubdate datetime="2020-02-11T01:10:39-07:00"> February 11, 2020 1:10 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-4607"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-4607"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-4607"><p>Hi There! I&#8217;m Ten Work as Internet Marketing Online From Singapore. Visit my website on : <a href="https://web.archive.org/web/20200601151118/http://taruhanbandarq.biz/daftar-akun-premium/">http://taruhanbandarq.biz/daftar-akun-premium/</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-4607">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-orpheusxaxa even thread-odd thread-alt depth-1" id="li-comment-4765"><article id="comment-4765" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/03/user-20080-150x150.jpg" width="40" height="40" alt="Orpheus Xaxa" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> Orpheus Xaxa </span> <span class="comment-date"> <time pubdate datetime="2020-03-01T00:50:00-07:00"> March 1, 2020 12:50 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-4765"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-4765"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-4765"><p>Bello!, I&#8217;m Orpheus Im a Internet Marketing Online From Indonesia, Support me on : <a href="https://web.archive.org/web/20200601151118/http://taruhanbandarq.biz/aplikasi-cheat-id-pro-pkv-games/">http://taruhanbandarq.biz/aplikasi-cheat-id-pro-pkv-games/</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-4765">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-orpheusxaxa odd alt thread-even depth-1" id="li-comment-4808"><article id="comment-4808" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/03/user-20080-150x150.jpg" width="40" height="40" alt="Orpheus Xaxa" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> Orpheus Xaxa </span> <span class="comment-date"> <time pubdate datetime="2020-03-03T02:57:42-07:00"> March 3, 2020 2:57 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-4808"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-4808"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-4808"><p>Holla! I&#8217;m Orpheus Im a Internet Marketing Online From Indonesia, Support me on : <a href="https://web.archive.org/web/20200601151118/http://taruhanbandarq.biz/daftar-akun-premium/">http://taruhanbandarq.biz/daftar-akun-premium/</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-4808">Log in to Reply</a></div></footer></article></li><li class="comment even thread-odd thread-alt depth-1" id="li-comment-4823"><article id="comment-4823" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://secure.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=40&amp;d=mm&amp;r=g" width="40" height="40" alt="Avatar" class="avatar avatar-40wp-user-avatar wp-user-avatar-40 alignnone photo avatar-default"/></div><header> <span class="author-name"> امتيازعلى امتيازعلى </span> <span class="comment-date"> <time pubdate datetime="2020-03-03T10:24:45-07:00"> March 3, 2020 10:24 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-4823"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-4823"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-4823"><p>this comment has been deleted.</p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-4823">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-pembodohanmassal odd alt thread-even depth-1" id="li-comment-4827"><article id="comment-4827" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/03/user-20296-150x150.png" width="40" height="40" alt="afika lestari" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> afika lestari </span> <span class="comment-date"> <time pubdate datetime="2020-03-03T16:48:16-07:00"> March 3, 2020 4:48 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-4827"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-4827"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-4827"><p>dimensiqq adalah agen poker, dominoqq, aduqq, poker online terpercaya di Indonesia dengan minimal deposit ekonomis yang memberikan pelayanan terbaik selama 24 jam nonstop.<br/> <a href="https://web.archive.org/web/20200601151118/http://159.89.206.177/">http://159.89.206.177/</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-4827">Log in to Reply</a></div></footer></article><ul class="children"><li class="comment byuser comment-author-saqinaprili even depth-2" id="li-comment-4830"><article id="comment-4830" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/03/user-20343-150x150.jpg" width="40" height="40" alt="saqina prili" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> saqina prili </span> <span class="comment-date"> <time pubdate datetime="2020-03-04T03:02:54-07:00"> March 4, 2020 3:02 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-4830"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-4830"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-4830"><p>Cheat Id Pro adalah sebuah aplikasi android yang telah berhasil dibuat dan dikembangkan oleh para hacker diseluruh dunia untuk membantu para pemain judi poker online <a href="https://web.archive.org/web/20200601151118/https://infobandarpkr.com/cheat-id-pro-pkv-games/">https://infobandarpkr.com/cheat-id-pro-pkv-games/</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-4830">Log in to Reply</a></div></footer></article></li></ul></li><li class="comment byuser comment-author-naveenlawaniya odd alt thread-odd thread-alt depth-1" id="li-comment-4841"><article id="comment-4841" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/03/user-20452-150x150.png" width="40" height="40" alt="Naveen Lawaniya" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> Naveen Lawaniya </span> <span class="comment-date"> <time pubdate datetime="2020-03-05T00:26:40-07:00"> March 5, 2020 12:26 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-4841"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-4841"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-4841"><p>For security services visit <a href="https://web.archive.org/web/20200601151118/https://securitytroops.com/">https://securitytroops.com/</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-4841">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-lexaforeva even thread-even depth-1" id="li-comment-4882"><article id="comment-4882" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/03/user-21049-150x150.jpg" width="40" height="40" alt="Lexa Foreva" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> Lexa Foreva </span> <span class="comment-date"> <time pubdate datetime="2020-03-11T05:10:12-07:00"> March 11, 2020 5:10 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-4882"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-4882"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-4882"><p><a href="https://web.archive.org/web/20200601151118/http://endangeredspeciesproject.org/">http://endangeredspeciesproject.org/</a> Endangeredspeciesproject Adalah Blog yang Menyediakan Kumpulan Situs Bola, Info Judi Bola dan Agen Judi Casino Terpercaya di Indonesia</p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-4882">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-stephanierenisa odd alt thread-odd thread-alt depth-1" id="li-comment-5088"><article id="comment-5088" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/03/user-22387-150x150.png" width="40" height="40" alt="stephanie renisa" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> stephanie renisa </span> <span class="comment-date"> <time pubdate datetime="2020-03-21T15:21:23-07:00"> March 21, 2020 3:21 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-5088"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-5088"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-5088"><p>Kumpulan Situs Poker Terpercaya ? langsung kesini aja guys ! DIJAMIN TERPERCAYA &amp; AMAN : <a href="https://web.archive.org/web/20200601151118/http://losrepatriados.org//">http://losrepatriados.org//</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-5088">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-sremportalgmail-com even thread-even depth-1" id="li-comment-5114"><article id="comment-5114" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://secure.gravatar.com/avatar/a42dc79f1819a425e8d46126b4e4ee70?s=40&amp;d=mm&amp;r=g" width="40" height="40" alt="Avatar" class="avatar avatar-40wp-user-avatar wp-user-avatar-40 alignnone photo avatar-default"/></div><header> <span class="author-name"> Srem Portal </span> <span class="comment-date"> <time pubdate datetime="2020-03-24T12:52:07-07:00"> March 24, 2020 12:52 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-5114"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-5114"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-5114"><p>This is definitely what I was looking for many thanks to the authors. Support in these hard times.Regards.<br/> <a href="https://web.archive.org/web/20200601151118/https://sremportal.info/">https://sremportal.info/</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-5114">Log in to Reply</a></div></footer></article><ul class="children"><li class="comment byuser comment-author-alternatifkuoutlook-com odd alt depth-2" id="li-comment-5258"><article id="comment-5258" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://secure.gravatar.com/avatar/c0655e34d8a4d4926f222aadec54a8d1?s=40&amp;d=mm&amp;r=g" width="40" height="40" alt="Avatar" class="avatar avatar-40wp-user-avatar wp-user-avatar-40 alignnone photo avatar-default"/></div><header> <span class="author-name"> Admin Alternatifku </span> <span class="comment-date"> <time pubdate datetime="2020-04-03T08:05:17-07:00"> April 3, 2020 8:05 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-5258"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-5258"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-5258"><p>Alternatifku is an recommended website poker qq online Indonesia. If you wanna join us? just klik link bellow! <a href="https://web.archive.org/web/20200601151118/http://63.250.38.31/">http://63.250.38.31/</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-5258">Log in to Reply</a></div></footer></article></li></ul></li><li class="comment byuser comment-author-ayuoktavia even thread-odd thread-alt depth-1" id="li-comment-5160"><article id="comment-5160" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/03/user-22972-150x150.jpg" width="40" height="40" alt="Ayu Oktavia" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> Ayu Oktavia </span> <span class="comment-date"> <time pubdate datetime="2020-03-26T22:23:24-07:00"> March 26, 2020 10:23 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-5160"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-5160"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-5160"><p>Cara Menang Judi Online Menggunakan Aplikasi Akun Premium PKV</p><p><a href="https://web.archive.org/web/20200601151118/https://medium.com/@raraangeline14/cara-menang-judi-online-menggunakan-aplikasi-akun-premium-pkv-5ab5b1e5a8aa">https://medium.com/@raraangeline14/cara-menang-judi-online-menggunakan-aplikasi-akun-premium-pkv-5ab5b1e5a8aa</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-5160">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-keobet88 odd alt thread-even depth-1" id="li-comment-5164"><article id="comment-5164" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/03/user-22989-150x150.png" width="40" height="40" alt="Keo Bet88" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> Keo Bet88 </span> <span class="comment-date"> <time pubdate datetime="2020-03-27T01:23:00-07:00"> March 27, 2020 1:23 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-5164"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-5164"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-5164"><p>Keobet88 adalah Agen situs Judi Bola Sbobet Resmi dan Agen Judi Casino online Terbaik serta Terpercaya Indonesia dengan transaksi aktif 24 jam dan permainan lengkap</p><p><a href="https://web.archive.org/web/20200601151118/https://keobet88.com/">https://keobet88.com/</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-5164">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-tiffanychun227outlook-com even thread-odd thread-alt depth-1" id="li-comment-5218"><article id="comment-5218" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://secure.gravatar.com/avatar/3daf3084cfdaea70f6de134cac8746a8?s=40&amp;d=mm&amp;r=g" width="40" height="40" alt="Avatar" class="avatar avatar-40wp-user-avatar wp-user-avatar-40 alignnone photo avatar-default"/></div><header> <span class="author-name"> Tiffany Chun </span> <span class="comment-date"> <time pubdate datetime="2020-04-01T19:19:29-07:00"> April 1, 2020 7:19 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-5218"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-5218"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-5218"><p>GanasQQ beralamatkan <a href="https://web.archive.org/web/20200601151118/http://www.ganas99.com/">http://www.ganas99.com/</a> adalah agen judi poker online terpercaya yang telah memiliki jutaan member play setiap harinya. Nikmati sembilan permainan poker dan domino hanya didalam 1 aplikasi pkv games.</p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-5218">Log in to Reply</a></div></footer></article><ul class="children"><li class="comment odd alt depth-2" id="li-comment-5257"><article id="comment-5257" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://secure.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=40&amp;d=mm&amp;r=g" width="40" height="40" alt="Avatar" class="avatar avatar-40wp-user-avatar wp-user-avatar-40 alignnone photo avatar-default"/></div><header> <span class="author-name"> امتيازعلى امتيازعلى </span> <span class="comment-date"> <time pubdate datetime="2020-04-03T08:04:25-07:00"> April 3, 2020 8:04 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-5257"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-5257"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-5257"><p>this comment has been deleted.</p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-5257">Log in to Reply</a></div></footer></article></li></ul></li><li class="comment byuser comment-author-dapathoki even thread-even depth-1" id="li-comment-5312"><article id="comment-5312" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/04/user-24027-150x150.png" width="40" height="40" alt="Dapat Hoki" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> Dapat Hoki </span> <span class="comment-date"> <time pubdate datetime="2020-04-06T20:12:36-07:00"> April 6, 2020 8:12 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-5312"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-5312"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-5312"><p>Situs Agen Judi Online Terpercaya dan Terbaik<br/> Situs paling lengkap di Indonesia</p><p><a href="https://web.archive.org/web/20200601151118/https://dapatqiu.vip/">https://dapatqiu.vip</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-5312">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-benvarrezgmail-com odd alt thread-odd thread-alt depth-1" id="li-comment-5390"><article id="comment-5390" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/04/user-9023-150x150.jpg" width="40" height="40" alt="Ben Varrez" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> Ben Varrez </span> <span class="comment-date"> <time pubdate datetime="2020-04-14T04:28:48-07:00"> April 14, 2020 4:28 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-5390"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-5390"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-5390"><p>GanjaQQ Situs Agen Domino Online Resmi Terpercaya</p><p><a href="https://web.archive.org/web/20200601151118/https://taruhanbandarq.biz/ganjaqq-situs-agen-domino-online-resmi-terpercaya/">https://taruhanbandarq.biz/ganjaqq-situs-agen-domino-online-resmi-terpercaya/</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-5390">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-chelsealawanata even thread-even depth-1" id="li-comment-5402"><article id="comment-5402" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/04/user-24732-150x150.jpg" width="40" height="40" alt="Chelsea Lawanata" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> Chelsea Lawanata </span> <span class="comment-date"> <time pubdate datetime="2020-04-14T23:10:23-07:00"> April 14, 2020 11:10 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-5402"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-5402"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-5402"><p>Ingin mendapatkan ID Game Online terbaik dan terpercaya. Kunjungi situs resmi kami sekarang juga melalui link berikut ini <a href="https://web.archive.org/web/20200601151118/http://112.140.185.93/">http://112.140.185.93/</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-5402">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-asiapokerq odd alt thread-odd thread-alt depth-1" id="li-comment-5403"><article id="comment-5403" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/04/user-24745-150x150.png" width="40" height="40" alt="asia pokerq" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> asia pokerq </span> <span class="comment-date"> <time pubdate datetime="2020-04-15T02:43:00-07:00"> April 15, 2020 2:43 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-5403"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-5403"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-5403"><p>i dont know how to read it, but i will translate ur articles with google translate. can u visit my site? Please <a href="https://web.archive.org/web/20200601151118/https://www.pokerq.co/">here</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-5403">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-kalenmokgaming even thread-even depth-1" id="li-comment-5468"><article id="comment-5468" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/04/user-25447-150x150.jpg" width="40" height="40" alt="Kalen Mok GaminG" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> Kalen Mok GaminG </span> <span class="comment-date"> <time pubdate datetime="2020-04-22T05:50:03-07:00"> April 22, 2020 5:50 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-5468"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-5468"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-5468"><p>a cool site <a href="https://web.archive.org/web/20200601151118/http://199.30.55.86/">Domino99</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-5468">Log in to Reply</a></div></footer></article><ul class="children"><li class="comment byuser comment-author-brittharris odd alt depth-2" id="li-comment-5501"><article id="comment-5501" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/04/user-25880-150x150.png" width="40" height="40" alt="britt harris" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> britt harris </span> <span class="comment-date"> <time pubdate datetime="2020-04-26T09:20:54-07:00"> April 26, 2020 9:20 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-5501"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-5501"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-5501"><p>Unfortunately, it is not envisioned in the near future that this raw material will be discontinued, since the success of fast fashion lies precisely in the increasing use of polyester because it is an easy and cheap material to acquire “in 2016 it was they used around 21.3 million tons in clothing, an increase of 157% of the amount used in 2000 ”59.  <br/> It is for this reason that the campaign calls on companies to rethink the business model, the form and the materials they use to make the garments, as well as the users so that they become responsible buyers. aware of the power they have to generate change in multinationals.</p><p><a href="https://web.archive.org/web/20200601151118/https://failfake.com/pl/">https://failfake.com/pl/</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-5501">Log in to Reply</a></div></footer></article></li></ul></li><li class="comment byuser comment-author-hestiaananta even thread-odd thread-alt depth-1" id="li-comment-5686"><article id="comment-5686" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/05/user-27244-150x150.png" width="40" height="40" alt="hestia ananta" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> hestia ananta </span> <span class="comment-date"> <time pubdate datetime="2020-05-05T22:43:18-07:00"> May 5, 2020 10:43 pm </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-5686"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-5686"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-5686"><p>great your post, thank you. Agen <a href="https://web.archive.org/web/20200601151118/https://rahasiabandarq.com/">Poker Online</a>, Dominoqq, Aduqq Terpercaya Indonesia</p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-5686">Log in to Reply</a></div></footer></article></li><li class="comment byuser comment-author-kimiasepanta odd alt thread-even depth-1" id="li-comment-6323"><article id="comment-6323" class="comment"><div class="comment-author vcard"> <img src="https://web.archive.org/web/20200601151118im_/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2020/05/user-30124-150x150.png" width="40" height="40" alt="kimia sepanta" class="avatar avatar-40 wp-user-avatar wp-user-avatar-40 alignnone photo"/></div><header> <span class="author-name"> kimia sepanta </span> <span class="comment-date"> <time pubdate datetime="2020-05-26T06:30:23-07:00"> May 26, 2020 6:30 am </time> </span><div class="comment-meta commentmetadata"> <span class="collapse-comment" id="collapse-comment-6323"> <a href="javascript:void(0)" title="collapse this comment"> <span class="sr-only">collapse this comment</span><i class="mdl2 mdl2-scroll-chevron-down-legacy" aria-hidden="true"></i> </a> </span> <span class="copy-link" data-clipboard-text="https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/#comment-6323"> <a href="javascript:void(0)" title="copy this comment link"> <span class="sr-only">copy this comment link</span><i class="mdl2 mdl2-link" aria-hidden="true"></i> </a> </span></div></header><div class="comment-content" id="comment-text-6323"><p>I was looking for content that was similar to the content on your site, it was really unique and very useful to me. Milk as much content as possible.<br/> <a href="https://web.archive.org/web/20200601151118/https://kimiasepanta.com/%d8%a7%d9%82%d8%a7%d9%85%d8%aa-%d8%a2%d9%84%d9%85%d8%a7%d9%86-%d8%b1%d9%88%d8%b4-%d9%87%d8%a7%db%8c-%d8%a7%d8%ae%d8%b0-%d8%a7%d9%82%d8%a7%d9%85%d8%aa-%d8%ac%d8%a7%d8%b0%d8%a8%d9%87-%da%af%d8%b1/">https://kimiasepanta.com/%d8%a7%d9%82%d8%a7%d9%85%d8%aa-%d8%a2%d9%84%d9%85%d8%a7%d9%86-%d8%b1%d9%88%d8%b4-%d9%87%d8%a7%db%8c-%d8%a7%d8%ae%d8%b0-%d8%a7%d9%82%d8%a7%d9%85%d8%aa-%d8%ac%d8%a7%d8%b0%d8%a8%d9%87-%da%af%d8%b1/</a></p></div><footer> <span class="voting"> </span><div class="reply"> <i class="mdl2 mdl2-reply-legacy" aria-hidden="true"></i> <a class="comment-reply-login x-hidden-focus" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F%23comment-6323">Log in to Reply</a></div></footer></article></li></ul></div></main></div></div></div></div><div class="wrapper" id="wrapper-footer" role="main"><div class="container" aria-label="Recommended and Related"><div class="row"><div class="col-lg-4" style="padding-bottom:10px;"><div class="card bottomleft" aria-label="Relevant Links"><div class="card-body" style="height:393px;padding-left:26px;padding-top:24px;padding-right:17px;margin-bottom:24px;"><h5 class="card-title">Relevant Links</h5><div class="card-text listdisplay" style="height:100%;width:100%;overflow-y:auto;overflow-x:hidden;"><p><a href="https://web.archive.org/web/20200601151118/https://aka.ms/DotNET_Download" target="blank" rel="noopener">.NET Download</a></p><p><a href="https://web.archive.org/web/20200601151118/https://aka.ms/DotNET_HelloWorld" target="blank" rel="noopener">.NET Hello World</a></p><p><a href="https://web.archive.org/web/20200601151118/https://aka.ms/DotNET_CommunityPage" target="blank" rel="noopener">.NET Meetup Events</a></p><p><a href="https://web.archive.org/web/20200601151118/https://aka.ms/DotNET_Docs" target="blank" rel="noopener">.NET Documentation</a></p><p><a href="https://web.archive.org/web/20200601151118/https://aka.ms/DotNET_APIs" target="blank" rel="noopener">.NET API Browser</a></p><p><a href="https://web.archive.org/web/20200601151118/https://aka.ms/DotNET_SDKs" target="blank" rel="noopener">.NET SDKs</a></p><h5>.NET Application Architecture Guides</h5><p><a href="https://web.archive.org/web/20200601151118/https://aka.ms/ASP.NET_Architecture_e-book" target="blank" rel="noopener">Web apps with ASP.NET Core</a></p><p><a href="https://web.archive.org/web/20200601151118/https://aka.ms/Xamarin.Forms_Architecture_e-book" target="blank" rel="noopener">Mobile apps with Xamarin.Forms</a></p><p><a href="https://web.archive.org/web/20200601151118/https://aka.ms/DotNET_Microservices_Architecture_e-book" target="blank" rel="noopener">Microservices with Docker Containers</a></p><p><a href="https://web.archive.org/web/20200601151118/https://aka.ms/Modernizing_Existing_.NETApplications_e-book" target="blank" rel="noopener">Modernizing existing .NET apps to the cloud</a></p></div></div></div></div><div class="col-lg-4" style="padding-bottom:10px;"><div class="card bottomcenter" aria-label="Archive"><div class="card-body" style="height:393px;padding-left:26px;padding-top:24px;padding-right:17px;margin-bottom:24px;"><h5 class="card-title">Archive</h5><div class="card-text listdisplay" style="height:100%;width:100%;overflow-y:auto;overflow-x:hidden;"><div role="list"><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2020/05/">May 2020</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2020/04/">April 2020</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2020/03/">March 2020</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2020/02/">February 2020</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2020/01/">January 2020</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2019/12/">December 2019</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2019/11/">November 2019</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2019/10/">October 2019</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2019/09/">September 2019</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2019/08/">August 2019</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2019/07/">July 2019</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2019/06/">June 2019</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2019/05/">May 2019</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2019/04/">April 2019</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2019/03/">March 2019</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2019/02/">February 2019</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2019/01/">January 2019</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2018/12/">December 2018</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2018/11/">November 2018</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2018/10/">October 2018</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2018/09/">September 2018</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2018/08/">August 2018</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2018/07/">July 2018</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2018/06/">June 2018</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2018/05/">May 2018</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2018/04/">April 2018</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2018/03/">March 2018</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2018/02/">February 2018</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2018/01/">January 2018</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2017/12/">December 2017</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2017/11/">November 2017</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2017/10/">October 2017</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2017/09/">September 2017</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2017/08/">August 2017</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2017/07/">July 2017</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2017/06/">June 2017</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2017/05/">May 2017</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2017/04/">April 2017</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2017/03/">March 2017</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2017/02/">February 2017</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2017/01/">January 2017</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2016/12/">December 2016</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2016/11/">November 2016</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2016/10/">October 2016</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2016/09/">September 2016</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2016/08/">August 2016</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2016/07/">July 2016</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2016/06/">June 2016</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2016/05/">May 2016</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2016/04/">April 2016</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2016/03/">March 2016</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2016/02/">February 2016</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2016/01/">January 2016</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2015/12/">December 2015</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2015/11/">November 2015</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2015/10/">October 2015</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2015/09/">September 2015</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2015/08/">August 2015</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2015/07/">July 2015</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2015/05/">May 2015</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2015/04/">April 2015</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2015/03/">March 2015</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2015/02/">February 2015</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2015/01/">January 2015</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2014/12/">December 2014</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2014/11/">November 2014</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2014/10/">October 2014</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2014/09/">September 2014</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2014/08/">August 2014</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2014/07/">July 2014</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2014/06/">June 2014</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2014/05/">May 2014</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2014/04/">April 2014</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2014/03/">March 2014</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2014/02/">February 2014</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2014/01/">January 2014</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2013/12/">December 2013</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2013/11/">November 2013</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2013/10/">October 2013</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2013/09/">September 2013</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2013/08/">August 2013</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2013/07/">July 2013</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2013/06/">June 2013</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2013/05/">May 2013</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2013/04/">April 2013</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2013/02/">February 2013</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2013/01/">January 2013</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2012/12/">December 2012</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2012/11/">November 2012</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2012/10/">October 2012</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2012/09/">September 2012</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2012/08/">August 2012</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2012/07/">July 2012</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2012/06/">June 2012</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2012/05/">May 2012</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2012/04/">April 2012</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2012/03/">March 2012</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2012/02/">February 2012</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2011/10/">October 2011</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2011/09/">September 2011</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2011/06/">June 2011</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2011/04/">April 2011</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2010/11/">November 2010</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2010/09/">September 2010</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2010/06/">June 2010</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2010/05/">May 2010</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2010/04/">April 2010</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2010/03/">March 2010</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2010/02/">February 2010</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2009/12/">December 2009</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2009/11/">November 2009</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2009/10/">October 2009</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2009/09/">September 2009</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2009/08/">August 2009</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2009/07/">July 2009</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2009/06/">June 2009</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2009/05/">May 2009</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2009/04/">April 2009</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2009/03/">March 2009</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2009/02/">February 2009</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2009/01/">January 2009</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2008/11/">November 2008</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2007/05/">May 2007</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2007/03/">March 2007</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2007/01/">January 2007</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2006/12/">December 2006</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2006/11/">November 2006</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2006/10/">October 2006</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2006/09/">September 2006</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2006/08/">August 2006</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2006/06/">June 2006</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2006/04/">April 2006</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2006/03/">March 2006</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2006/02/">February 2006</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2006/01/">January 2006</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2005/10/">October 2005</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2005/07/">July 2005</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2005/05/">May 2005</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2004/12/">December 2004</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2004/11/">November 2004</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2004/09/">September 2004</a></li><li><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/2004/06/">June 2004</a></li></div></div></div></div></div><div class="col-lg-4" style="padding-bottom:10px;"><div class="card bottomright" aria-label="Topics"><div class="card-body" style="height:393px;padding-left:26px;padding-top:24px;padding-right:17px;margin-bottom:24px;"><h5 class="card-title">Topics</h5><div class="card-text listdisplay" style="height:100%;width:100%;overflow-y:auto;overflow-x:hidden;"><div role="list"><li class="cat-item cat-item-1"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/dot-net/">Dot.Net</a></li><li class="cat-item cat-item-685"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/net/">.NET</a></li><li class="cat-item cat-item-196"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/net-core/">.NET Core</a></li><li class="cat-item cat-item-195"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/net-framework/">.NET Framework</a></li><li class="cat-item cat-item-859"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/entity-framework/">Entity Framework</a></li><li class="cat-item cat-item-691"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/ml-net/">ML.NET</a></li><li class="cat-item cat-item-756"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/c/">C#</a></li><li class="cat-item cat-item-636"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/f/">F#</a></li><li class="cat-item cat-item-646"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/visual-studio/">Visual Studio</a></li><li class="cat-item cat-item-509"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/wpf/">WPF</a></li><li class="cat-item cat-item-328"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/aiml/">AI Machine Learning</a></li><li class="cat-item cat-item-3009"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/performance/">Performance</a></li><li class="cat-item cat-item-688"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/machine-learning/">Machine Learning</a></li><li class="cat-item cat-item-326"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/security/">Security</a></li><li class="cat-item cat-item-197"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/asp-net/">ASP.NET</a></li><li class="cat-item cat-item-2904"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/docker/">Docker</a></li><li class="cat-item cat-item-3015"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/concurrency/">Concurrency</a></li><li class="cat-item cat-item-3018"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/tpl/">TPL</a></li><li class="cat-item cat-item-3008"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/maoni/">Maoni</a></li><li class="cat-item cat-item-3013"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/async/">Async</a></li><li class="cat-item cat-item-327"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/azure/">Azure</a></li><li class="cat-item cat-item-6071"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/apache/">Apache</a></li><li class="cat-item cat-item-3007"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/loh/">LOH</a></li><li class="cat-item cat-item-3012"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/net-internals/">.NET Internals</a></li><li class="cat-item cat-item-3017"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/gc/">GC</a></li><li class="cat-item cat-item-489"><a href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/category/xaml/">XAML</a></li></div></div></div></div></div></div></div><div class="container"><div class="row"><div class="col-12"><footer class="site-footer" id="colophon"><div class="row justify-content-center featuresectiontwo"><div class="col-4"></div><div class="col-4"></div></div><div class="row justify-content-center featuresectiontwo"><div class="col-10" style="text-align:center;"><h2 class="stayinformedtitle">Stay informed</h2><div class="col-12" style="margin-top:20px;"><a class="no-underline stayinformedsite" aria-label="Follow Us on Facebook" target="_blank" href="https://web.archive.org/web/20200601151118/https://aka.ms/Dot.NET_Facebook"><i class="fa fa-facebook hvr-pop"></i></a><a class="no-underline stayinformedsite" aria-label="Follow Us on Twitter" target="_blank" href="https://web.archive.org/web/20200601151118/https://aka.ms/DotNET_Twitter"><i class="fa fa-twitter hvr-pop"></i></a><a class="no-underline stayinformedsite" aria-label="Follow Us on YouTube" target="_blank" href="https://web.archive.org/web/20200601151118/https://aka.ms/Dot.NETfdn_YouTube"><i class="fa fa-youtube-play hvr-pop"></i></a><a class="no-underline stayinformedsite" aria-label="Follow Us on Twitch" target="_blank" href="https://web.archive.org/web/20200601151118/https://aka.ms/VisualStudio_Twitch"><i class="fa fa-twitch hvr-pop"></i></a><a class="no-underline stayinformedsite" aria-label="Follow Us on Mixer" target="_blank" href="https://web.archive.org/web/20200601151118/https://aka.ms/VisualStudio_Mixer"><i class="fa fa-times hvr-pop"></i></a><a class="no-underline stayinformedsite" aria-label="Subscribe to Our RSS Feed" target="_blank" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/feed/"><i class="fa fa-rss hvr-pop"></i></a></div></div></div></footer></div></div></div></div></div><div style="display:none;"><div class="login-section"><a class="login-but" href="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-login.php?redirect_to=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-core-2-0%2F">Login</a></div></div> <script type="text/javascript">var codePrettifyLoaderBaseUrl = "https:\/\/web.archive.org\/web\/20200601151118\/https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/plugins\/code-prettify\/prettify";</script> <script type="text/javascript">var siteurl = {"devblogsiteurl":"https:\/\/web.archive.org\/web\/20200601151118\/https:\/\/devblogs.microsoft.com\/dotnet"};</script> <script type="text/javascript">var eucookielaw_data = {"euCookieSet":"1","autoBlock":"0","expireTimer":"1080","scrollConsent":"0","networkShareURL":"domain=devblogs.microsoft.com; ","isCookiePage":"","isRefererWebsite":"","deleteCookieUrl":"https:\/\/web.archive.org\/web\/20200601151118\/https:\/\/devblogs.microsoft.com\/dotnet\/announcing-net-core-2-0\/?nocookie=1"};</script> <script type="text/javascript">var quicktagsL10n = {"closeAllOpenTags":"Close all open tags","closeTags":"close tags","enterURL":"Enter the URL","enterImageURL":"Enter the URL of the image","enterImageDescription":"Enter a description of the image","textdirection":"text direction","toggleTextdirection":"Toggle Editor Text Direction","dfw":"Distraction-free writing mode","strong":"Bold","strongClose":"Close bold tag","em":"Italic","emClose":"Close italic tag","link":"Insert link","blockquote":"Blockquote","blockquoteClose":"Close blockquote tag","del":"Deleted text (strikethrough)","delClose":"Close deleted text tag","ins":"Inserted text","insClose":"Close inserted text tag","image":"Insert image","ul":"Bulleted list","ulClose":"Close bulleted list tag","ol":"Numbered list","olClose":"Close numbered list tag","li":"List item","liClose":"Close list item tag","code":"Code","codeClose":"Close code tag","more":"Insert Read More tag"};</script> <script type="text/javascript" src="https://web.archive.org/web/20200601151118js_/https://devblogs.microsoft.com/dotnet/wp-includes/js/quicktags.min.js"></script> <script type="text/javascript">( 'fetch' in window ) || document.write( '<script src="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-includes/js/dist/vendor/wp-polyfill-fetch.min.js?ver=3.0.0"></scr' + 'ipt>' );( document.contains ) || document.write( '<script src="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-includes/js/dist/vendor/wp-polyfill-node-contains.min.js?ver=3.42.0"></scr' + 'ipt>' );( window.DOMRect ) || document.write( '<script src="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-includes/js/dist/vendor/wp-polyfill-dom-rect.min.js?ver=3.42.0"></scr' + 'ipt>' );( window.URL && window.URL.prototype && window.URLSearchParams ) || document.write( '<script src="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-includes/js/dist/vendor/wp-polyfill-url.min.js?ver=3.6.4"></scr' + 'ipt>' );( window.FormData && window.FormData.prototype.keys ) || document.write( '<script src="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-includes/js/dist/vendor/wp-polyfill-formdata.min.js?ver=3.0.12"></scr' + 'ipt>' );( Element.prototype.matches && Element.prototype.closest ) || document.write( '<script src="https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-includes/js/dist/vendor/wp-polyfill-element-closest.min.js?ver=2.0.2"></scr' + 'ipt>' );</script> <script type="text/javascript">var wpLinkL10n = {"title":"Insert\/edit link","update":"Update","save":"Add Link","noTitle":"(no title)","noMatchesFound":"No results found.","linkSelected":"Link selected.","linkInserted":"Link inserted.","minInputLength":"3"};</script> <script type="text/javascript">var uiAutocompleteL10n = {"noResults":"No results found.","oneResult":"1 result found. Use up and down arrow keys to navigate.","manyResults":"%d results found. Use up and down arrow keys to navigate.","itemSelected":"Item selected."};</script> <script type="text/javascript">tinyMCEPreInit = { baseURL: "https://web.archive.org/web/20200601151118/https://devblogs.microsoft.com/dotnet/wp-includes/js/tinymce", suffix: ".min", mceInit: {}, qtInit: {'comment':{id:"comment",buttons:"strong,em,link"}}, ref: {plugins:"",theme:"modern",language:""}, load_ext: function(url,lang){var sl=tinymce.ScriptLoader;sl.markDone(url+'/langs/'+lang+'.js');sl.markDone(url+'/langs/'+lang+'_dlg.js');} };</script> <script type="text/javascript">var ajaxurl = "/dotnet/wp-admin/admin-ajax.php"; ( function() { var init, id, $wrap; if ( typeof tinymce !== 'undefined' ) { if ( tinymce.Env.ie && tinymce.Env.ie < 11 ) { tinymce.$( '.wp-editor-wrap ' ).removeClass( 'tmce-active' ).addClass( 'html-active' ); return; } for ( id in tinyMCEPreInit.mceInit ) { init = tinyMCEPreInit.mceInit[id]; $wrap = tinymce.$( '#wp-' + id + '-wrap' ); if ( ( $wrap.hasClass( 'tmce-active' ) || ! tinyMCEPreInit.qtInit.hasOwnProperty( id ) ) && ! init.wp_skip_init ) { tinymce.init( init ); if ( ! window.wpActiveEditor ) { window.wpActiveEditor = id; } } } } if ( typeof quicktags !== 'undefined' ) { for ( id in tinyMCEPreInit.qtInit ) { quicktags( tinyMCEPreInit.qtInit[id] ); if ( ! window.wpActiveEditor ) { window.wpActiveEditor = id; } } } }());</script> <div id="wp-link-backdrop" style="display: none"></div><div id="wp-link-wrap" class="wp-core-ui" style="display: none" role="dialog" aria-labelledby="link-modal-title"><form id="wp-link" tabindex="-1"> <input type="hidden" id="_ajax_linking_nonce" name="_ajax_linking_nonce" value="d9c6e01a1e"/><h1 id="link-modal-title">Insert/edit link</h1> <button type="button" id="wp-link-close"><span class="screen-reader-text">Close</span></button><div id="link-selector"><div id="link-options"><p class="howto" id="wplink-enter-url">Enter the destination URL</p><div> <label><span>URL</span> <input id="wp-link-url" type="text" aria-describedby="wplink-enter-url"/></label></div><div class="wp-link-text-field"> <label><span>Link Text</span> <input id="wp-link-text" type="text"/></label></div><div class="link-target"> <label><span></span> <input type="checkbox" id="wp-link-target"/> Open link in a new tab</label></div></div><p class="howto" id="wplink-link-existing-content">Or link to existing content</p><div id="search-panel"><div class="link-search-wrapper"> <label> <span class="search-label">Search</span> <input type="search" id="wp-link-search" class="link-search-field" autocomplete="off" aria-describedby="wplink-link-existing-content"/> <span class="spinner"></span> </label></div><div id="search-results" class="query-results" tabindex="0"><ul></ul><div class="river-waiting"> <span class="spinner"></span></div></div><div id="most-recent-results" class="query-results" tabindex="0"><div class="query-notice" id="query-notice-message"> <em class="query-notice-default">No search term specified. Showing recent items.</em> <em class="query-notice-hint screen-reader-text">Search or use up and down arrow keys to select an item.</em></div><ul></ul><div class="river-waiting"> <span class="spinner"></span></div></div></div></div><div class="submitbox"><div id="wp-link-cancel"> <button type="button" class="button">Cancel</button></div><div id="wp-link-update"> <input type="submit" value="Add Link" class="button button-primary" id="wp-link-submit" name="wp-link-submit"></div></div></form></div> <script type="text/javascript">var tinyMCE_object = {"button_name":"CTA Button","button_title":"CTA Button Settings"};</script><script type="text/javascript">(function (undefined) {var _targetWindow ="prefer-popup"; window.NSLPopupCenter = function (url, title, w, h) { var userAgent = navigator.userAgent, mobile = function () { return /\b(iPhone|iP[ao]d)/.test(userAgent) || /\b(iP[ao]d)/.test(userAgent) || /Android/i.test(userAgent) || /Mobile/i.test(userAgent); }, screenX = window.screenX !== undefined ? window.screenX : window.screenLeft, screenY = window.screenY !== undefined ? window.screenY : window.screenTop, outerWidth = window.outerWidth !== undefined ? window.outerWidth : document.documentElement.clientWidth, outerHeight = window.outerHeight !== undefined ? window.outerHeight : document.documentElement.clientHeight - 22, targetWidth = mobile() ? null : w, targetHeight = mobile() ? null : h, V = screenX < 0 ? window.screen.width + screenX : screenX, left = parseInt(V + (outerWidth - targetWidth) / 2, 10), right = parseInt(screenY + (outerHeight - targetHeight) / 2.5, 10), features = []; if (targetWidth !== null) { features.push('width=' + targetWidth); } if (targetHeight !== null) { features.push('height=' + targetHeight); } features.push('left=' + left); features.push('top=' + right); features.push('scrollbars=1'); var newWindow = window.open(url, title, features.join(',')); if (window.focus) { newWindow.focus(); } return newWindow; }; var isWebView = null; function checkWebView() { if (isWebView === null) { function _detectOS(ua) { switch (true) { case /Android/.test(ua): return "Android"; case /iPhone|iPad|iPod/.test(ua): return "iOS"; case /Windows/.test(ua): return "Windows"; case /Mac OS X/.test(ua): return "Mac"; case /CrOS/.test(ua): return "Chrome OS"; case /Firefox/.test(ua): return "Firefox OS"; } return ""; } function _detectBrowser(ua) { var android = /Android/.test(ua); switch (true) { case /CriOS/.test(ua): return "Chrome for iOS"; case /Edge/.test(ua): return "Edge"; case android && /Silk\//.test(ua): return "Silk"; case /Chrome/.test(ua): return "Chrome"; case /Firefox/.test(ua): return "Firefox"; case android: return "AOSP"; case /MSIE|Trident/.test(ua): return "IE"; case /Safari\//.test(ua): return "Safari"; case /AppleWebKit/.test(ua): return "WebKit"; } return ""; } function _detectBrowserVersion(ua, browser) { switch (browser) { case "Chrome for iOS": return _getVersion(ua, "CriOS/"); case "Edge": return _getVersion(ua, "Edge/"); case "Chrome": return _getVersion(ua, "Chrome/"); case "Firefox": return _getVersion(ua, "Firefox/"); case "Silk": return _getVersion(ua, "Silk/"); case "AOSP": return _getVersion(ua, "Version/"); case "IE": return /IEMobile/.test(ua) ? _getVersion(ua, "IEMobile/") : /MSIE/.test(ua) ? _getVersion(ua, "MSIE ") : _getVersion(ua, "rv:"); case "Safari": return _getVersion(ua, "Version/"); case "WebKit": return _getVersion(ua, "WebKit/"); } return "0.0.0"; } function _getVersion(ua, token) { try { return _normalizeSemverString(ua.split(token)[1].trim().split(/[^\w\.]/)[0]); } catch (o_O) { } return "0.0.0"; } function _normalizeSemverString(version) { var ary = version.split(/[\._]/); return (parseInt(ary[0], 10) || 0) + "." + (parseInt(ary[1], 10) || 0) + "." + (parseInt(ary[2], 10) || 0); } function _isWebView(ua, os, browser, version, options) { switch (os + browser) { case "iOSSafari": return false; case "iOSWebKit": return _isWebView_iOS(options); case "AndroidAOSP": return false; case "AndroidChrome": return parseFloat(version) >= 42 ? /; wv/.test(ua) : /\d{2}\.0\.0/.test(version) ? true : _isWebView_Android(options); } return false; } function _isWebView_iOS(options) { var document = (window["document"] || {}); if ("WEB_VIEW" in options) { return options["WEB_VIEW"]; } return !("fullscreenEnabled" in document || "webkitFullscreenEnabled" in document || false); } function _isWebView_Android(options) { if ("WEB_VIEW" in options) { return options["WEB_VIEW"]; } return !("requestFileSystem" in window || "webkitRequestFileSystem" in window || false); } var options = {}; var nav = window.navigator || {}; var ua = nav.userAgent || ""; var os = _detectOS(ua); var browser = _detectBrowser(ua); var browserVersion = _detectBrowserVersion(ua, browser); isWebView = _isWebView(ua, os, browser, browserVersion, options); } return isWebView; } window._nsl.push(function ($) { var targetWindow = _targetWindow || 'prefer-popup'; $('a[data-plugin="nsl"][data-action="connect"],a[data-plugin="nsl"][data-action="link"]').on('click', function (e) { var $target = $(this), href = $target.attr('href'), success = false; if (href.indexOf('?') !== -1) { href += '&'; } else { href += '?'; } var redirectTo = $target.data('redirect'); if (redirectTo === 'current') { href += 'redirect=' + encodeURIComponent(window.location.href) + '&'; } else if (redirectTo && redirectTo !== '') { href += 'redirect=' + encodeURIComponent(redirectTo) + '&'; } if (targetWindow !== 'prefer-same-window' && checkWebView()) { targetWindow = 'prefer-same-window'; } if (targetWindow === 'prefer-popup') { if (NSLPopupCenter(href + 'display=popup', 'nsl-social-connect', $target.data('popupwidth'), $target.data('popupheight'))) { success = true; e.preventDefault(); } } else if (targetWindow === 'prefer-new-tab') { var newTab = window.open(href + 'display=popup', '_blank'); if (newTab) { if (window.focus) { newTab.focus(); } success = true; e.preventDefault(); } } if (!success) { window.location = href; e.preventDefault(); } }); var googleLoginButton = $('a[data-plugin="nsl"][data-provider="google"]'); if (googleLoginButton.length && checkWebView()) { googleLoginButton.remove(); } });})();</script> <script type="text/javascript">QTags.addButton( 'customcode', 'code', add_code,'','','',110); // call back function function add_code() { jQuery("#code-text").val(""); jQuery('#codeModal').modal('show'); // Model textarea focus jQuery('#codeModal').on('shown.bs.modal', function () { jQuery(this).find('#code-text').focus(); }); } // Code form add function myCodeFunction() { jQuery("myForm").submit(); var codeVal = jQuery("#code-text").val(); if ( codeVal ) { jQuery('#codeModal').modal('hide'); QTags.insertContent('<pre class="prettyprint">'+ codeVal +'</pre>'); } }</script> <div class="modal fade" id="codeModal" tabindex="-1" role="dialog" aria-labelledby="codeModalLabel" aria-hidden="true"><div class="modal-dialog modal-dialog-centered" role="document"><div class="modal-content"><div class="modal-header"><h5 class="modal-title" id="codeModalLabel">Code Block</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button></div><form id="myForm" action="#"><div class="modal-body"><div class="form-group"> <label for="code-text">Paste your code snippet</label><textarea class="form-control" id="code-text" style="height: 150px;"></textarea></div></form></div><div class="modal-footer"> <button type="button" class="btn btn-primary" data-dismiss="modal">Cancel</button> <button type="button" onclick="myCodeFunction()" class="btn btn-primary">Ok</button></div></form></div></div></div> <script type="text/javascript">/*{literal}*/window.lightningjs||function(c){function g(b,d){d&&(d+=(/\?/.test(d)?"&":"?")+"lv=1");c[b]||function(){var i=window,h=document,j=b,g=h.location.protocol,l="load",k=0;(function(){function b(){a.P(l);a.w=1;c[j]("_load")}c[j]=function(){function m(){m.id=e;return c[j].apply(m,arguments)}var b,e=++k;b=this&&this!=i?this.id||0:0;(a.s=a.s||[]).push([e,b,arguments]);m.then=function(b,c,h){var d=a.fh[e]=a.fh[e]||[],j=a.eh[e]=a.eh[e]||[],f=a.ph[e]=a.ph[e]||[];b&&d.push(b);c&&j.push(c);h&&f.push(h);return m};return m};var a=c[j]._={};a.fh={};a.eh={};a.ph={};a.l=d?d.replace(/^\/\//,(g=="https:"?g:"http:")+"//"):d;a.p={0:+new Date};a.P=function(b){a.p[b]=new Date-a.p[0]};a.w&&b();i.addEventListener?i.addEventListener(l,b,!1):i.attachEvent("on"+l,b);var q=function(){function b(){return["<head></head><",c,' onload="var d=',n,";d.getElementsByTagName('head')[0].",d,"(d.",g,"('script')).",i,"='",a.l,"'\"></",c,">"].join("")}var c="body",e=h[c];if(!e)return setTimeout(q,100);a.P(1);var d="appendChild",g="createElement",i="src",k=h[g]("div"),l=k[d](h[g]("div")),f=h[g]("iframe"),n="document",p;k.style.display="none";e.insertBefore(k,e.firstChild).id=o+"-"+j;f.frameBorder="0";f.id=o+"-frame-"+j;/MSIE[ ]+6/.test(navigator.userAgent)&&(f[i]="javascript:false");f.allowTransparency="true";l[d](f);try{f.contentWindow[n].open()}catch(s){a.domain=h.domain,p="javascript:var d="+n+".open();d.domain='"+h.domain+"';",f[i]=p+"void(0);"}try{var r=f.contentWindow[n];r.write(b());r.close()}catch(t){f[i]=p+'d.write("'+b().replace(/"/g,String.fromCharCode(92)+'"')+'");d.close();'}a.P(2)};a.l&&setTimeout(q,0)})()}();c[b].lv="1";return c[b]}var o="lightningjs",k=window[o]=g(o);k.require=g;k.modules=c}({}); if(!navigator.userAgent.match(/Android|BlackBerry|BB10|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) {window.usabilla_live = lightningjs.require("usabilla_live", "//web.archive.org/web/20200601151118/https://w.usabilla.com/2a41eea4c9e1.js"); } else {window.usabilla_live = lightningjs.require("usabilla_live", "//web.archive.org/web/20200601151118/https://w.usabilla.com/29d0684d6043.js"); }/*{/literal}*/</script> <div id="footerArea" class="uhf" data-m="{&quot;cN&quot;:&quot;footerArea&quot;,&quot;cT&quot;:&quot;Area_coreuiArea&quot;,&quot;id&quot;:&quot;a2Body&quot;,&quot;sN&quot;:2,&quot;aN&quot;:&quot;Body&quot;}"><div id="footerRegion" data-region-key="footerregion" data-m="{&quot;cN&quot;:&quot;footerRegion&quot;,&quot;cT&quot;:&quot;Region_coreui-region&quot;,&quot;id&quot;:&quot;r1a2&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;a2&quot;}"><div id="footerUniversalFooter" data-m="{&quot;cN&quot;:&quot;footerUniversalFooter&quot;,&quot;cT&quot;:&quot;Module_coreui-universalfooter&quot;,&quot;id&quot;:&quot;m1r1a2&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;r1a2&quot;}" data-module-id="Category|footerRegion|coreui-region|footerUniversalFooter|coreui-universalfooter"><footer id="uhf-footer" class="c-uhff context-uhf" data-uhf-mscc-rq="false" data-footer-footprint="/DEV_Blogs/DEV_BlogsFooter, fromService: True" data-m="{&quot;cN&quot;:&quot;Uhf footer_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c1m1r1a2&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;m1r1a2&quot;}"><nav class="c-uhff-nav" aria-label="Footer Resource links" data-m="{&quot;cN&quot;:&quot;Footer nav_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c1c1m1r1a2&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c1m1r1a2&quot;}"><div class="c-uhff-nav-row"><div class="c-uhff-nav-group" data-m="{&quot;cN&quot;:&quot;footerNavColumn1_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c1c1c1m1r1a2&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c1c1m1r1a2&quot;}"><div class="c-heading-4">What&#39;s new</div><ul class="c-list f-bare"><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/microsoft-365" data-m="{&quot;cN&quot;:&quot;Whatsnew_Microsoft365_nav&quot;,&quot;id&quot;:&quot;n1c1c1c1m1r1a2&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c1c1c1m1r1a2&quot;}">Microsoft 365</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/p/surface-pro-x/8vdnrp2m6hhc?activetab=overview" data-m="{&quot;cN&quot;:&quot;Whatsnew_SurfaceProX_nav&quot;,&quot;id&quot;:&quot;n2c1c1c1m1r1a2&quot;,&quot;sN&quot;:2,&quot;aN&quot;:&quot;c1c1c1m1r1a2&quot;}">Surface Pro X</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/p/surface-laptop-3/8VFGGH1R94TM?activetab=overview" data-m="{&quot;cN&quot;:&quot;Whatsnew_SurfaceLaptop3_nav&quot;,&quot;id&quot;:&quot;n3c1c1c1m1r1a2&quot;,&quot;sN&quot;:3,&quot;aN&quot;:&quot;c1c1c1m1r1a2&quot;}">Surface Laptop 3</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/p/surface-pro-7/8N17J0M5ZZQS?activetab=overview" data-m="{&quot;cN&quot;:&quot;Whatsnew_SurfacePro7_nav&quot;,&quot;id&quot;:&quot;n4c1c1c1m1r1a2&quot;,&quot;sN&quot;:4,&quot;aN&quot;:&quot;c1c1c1m1r1a2&quot;}">Surface Pro 7</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/windows/windows-10-apps" data-m="{&quot;cN&quot;:&quot;Footer_WhatsNew_Windows_10_apps_nav&quot;,&quot;id&quot;:&quot;n5c1c1c1m1r1a2&quot;,&quot;sN&quot;:5,&quot;aN&quot;:&quot;c1c1c1m1r1a2&quot;}">Windows 10 apps</a></li></ul></div><div class="c-uhff-nav-group" data-m="{&quot;cN&quot;:&quot;footerNavColumn2_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c2c1c1m1r1a2&quot;,&quot;sN&quot;:2,&quot;aN&quot;:&quot;c1c1m1r1a2&quot;}"><div class="c-heading-4">Microsoft Store</div><ul class="c-list f-bare"><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://account.microsoft.com/" data-m="{&quot;cN&quot;:&quot;Footer_StoreandSupport_AccountProfile_nav&quot;,&quot;id&quot;:&quot;n1c2c1c1m1r1a2&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c2c1c1m1r1a2&quot;}">Account profile</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/download" data-m="{&quot;cN&quot;:&quot;Footer_StoreandSupport_DownloadCenter_nav&quot;,&quot;id&quot;:&quot;n2c2c1c1m1r1a2&quot;,&quot;sN&quot;:2,&quot;aN&quot;:&quot;c2c1c1m1r1a2&quot;}">Download Center</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://go.microsoft.com/fwlink/p/?LinkID=824761&amp;clcid=0x409" data-m="{&quot;cN&quot;:&quot;Footer_StoreandSupport_SalesAndSupport_nav&quot;,&quot;id&quot;:&quot;n3c2c1c1m1r1a2&quot;,&quot;sN&quot;:3,&quot;aN&quot;:&quot;c2c1c1m1r1a2&quot;}">Microsoft Store support</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://go.microsoft.com/fwlink/p/?LinkID=824764&amp;clcid=0x409" data-m="{&quot;cN&quot;:&quot;MicrosoftStore_ExtendedHolidayReturns_nav&quot;,&quot;id&quot;:&quot;n4c2c1c1m1r1a2&quot;,&quot;sN&quot;:4,&quot;aN&quot;:&quot;c2c1c1m1r1a2&quot;}">Returns</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://account.microsoft.com/orders" data-m="{&quot;cN&quot;:&quot;Footer_StoreandSupport_OrderTracking_nav&quot;,&quot;id&quot;:&quot;n5c2c1c1m1r1a2&quot;,&quot;sN&quot;:5,&quot;aN&quot;:&quot;c2c1c1m1r1a2&quot;}">Order tracking</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/store/locations/find-a-store?icid=en-us_UF_FAS" data-m="{&quot;cN&quot;:&quot;Footer_StoreandSupport_StoreLocations_nav&quot;,&quot;id&quot;:&quot;n6c2c1c1m1r1a2&quot;,&quot;sN&quot;:6,&quot;aN&quot;:&quot;c2c1c1m1r1a2&quot;}">Store locations</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/store/b/buy-online-pick-up-in-store?icid=uhf_footer_bopuis" data-m="{&quot;cN&quot;:&quot;StoreandSupport_BuyOnlinePickUpInStore_nav&quot;,&quot;id&quot;:&quot;n7c2c1c1m1r1a2&quot;,&quot;sN&quot;:7,&quot;aN&quot;:&quot;c2c1c1m1r1a2&quot;}">Buy online, pick up in store</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/store/locations/events?icid=en_us_store_uhf_events" data-m="{&quot;cN&quot;:&quot;StoreSupport_Instoreevents_nav&quot;,&quot;id&quot;:&quot;n8c2c1c1m1r1a2&quot;,&quot;sN&quot;:8,&quot;aN&quot;:&quot;c2c1c1m1r1a2&quot;}">In-store events</a></li></ul></div><div class="c-uhff-nav-group" data-m="{&quot;cN&quot;:&quot;footerNavColumn3_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c3c1c1m1r1a2&quot;,&quot;sN&quot;:3,&quot;aN&quot;:&quot;c1c1m1r1a2&quot;}"><div class="c-heading-4">Education</div><ul class="c-list f-bare"><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/education" data-m="{&quot;cN&quot;:&quot;Footer_Education_MicrosoftInEducation_nav&quot;,&quot;id&quot;:&quot;n1c3c1c1m1r1a2&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c3c1c1m1r1a2&quot;}">Microsoft in education</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/education/products/office/default.aspx" data-m="{&quot;cN&quot;:&quot;Footer_Education_OfficeForStudents_nav&quot;,&quot;id&quot;:&quot;n2c3c1c1m1r1a2&quot;,&quot;sN&quot;:2,&quot;aN&quot;:&quot;c3c1c1m1r1a2&quot;}">Office for students</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://products.office.com/en-us/academic/compare-office-365-education-plans" data-m="{&quot;cN&quot;:&quot;Footer_Education_Office365ForSchools_nav&quot;,&quot;id&quot;:&quot;n3c3c1c1m1r1a2&quot;,&quot;sN&quot;:3,&quot;aN&quot;:&quot;c3c1c1m1r1a2&quot;}">Office 365 for schools</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/store/b/education?icid=CNavfooter_Studentsandeducation" data-m="{&quot;cN&quot;:&quot;Footer_Education_DealsForStudentsandParents_nav&quot;,&quot;id&quot;:&quot;n4c3c1c1m1r1a2&quot;,&quot;sN&quot;:4,&quot;aN&quot;:&quot;c3c1c1m1r1a2&quot;}">Deals for students &amp; parents</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://azure.microsoft.com/en-us/community/education/" data-m="{&quot;cN&quot;:&quot;Footer_MicrosoftAzureInEducation_nav&quot;,&quot;id&quot;:&quot;n5c3c1c1m1r1a2&quot;,&quot;sN&quot;:5,&quot;aN&quot;:&quot;c3c1c1m1r1a2&quot;}">Microsoft Azure in education</a></li></ul></div></div><div class="c-uhff-nav-row"><div class="c-uhff-nav-group" data-m="{&quot;cN&quot;:&quot;footerNavColumn4_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c4c1c1m1r1a2&quot;,&quot;sN&quot;:4,&quot;aN&quot;:&quot;c1c1m1r1a2&quot;}"><div class="c-heading-4">Enterprise</div><ul class="c-list f-bare"><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://azure.microsoft.com/" data-m="{&quot;cN&quot;:&quot;Footer_Enterprise_MicrosoftAzure_nav&quot;,&quot;id&quot;:&quot;n1c4c1c1m1r1a2&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c4c1c1m1r1a2&quot;}">Azure</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://go.microsoft.com/fwlink/?LinkID=808093" data-m="{&quot;cN&quot;:&quot;Footer_Enterprise_MicrosoftAppSource_nav&quot;,&quot;id&quot;:&quot;n2c4c1c1m1r1a2&quot;,&quot;sN&quot;:2,&quot;aN&quot;:&quot;c4c1c1m1r1a2&quot;}">AppSource </a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/enterprise/automotive" data-m="{&quot;cN&quot;:&quot;Footer_Enterprise_Automotive_nav&quot;,&quot;id&quot;:&quot;n3c4c1c1m1r1a2&quot;,&quot;sN&quot;:3,&quot;aN&quot;:&quot;c4c1c1m1r1a2&quot;}">Automotive</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/enterprise/government" data-m="{&quot;cN&quot;:&quot;Footer_Enterprise_Government_nav&quot;,&quot;id&quot;:&quot;n4c4c1c1m1r1a2&quot;,&quot;sN&quot;:4,&quot;aN&quot;:&quot;c4c1c1m1r1a2&quot;}">Government</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/enterprise/health" data-m="{&quot;cN&quot;:&quot;Footer_Enterprise_Health_nav&quot;,&quot;id&quot;:&quot;n5c4c1c1m1r1a2&quot;,&quot;sN&quot;:5,&quot;aN&quot;:&quot;c4c1c1m1r1a2&quot;}">Healthcare</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/enterprise/manufacturing" data-m="{&quot;cN&quot;:&quot;Footer_Enterprise_Manufacturing_nav&quot;,&quot;id&quot;:&quot;n6c4c1c1m1r1a2&quot;,&quot;sN&quot;:6,&quot;aN&quot;:&quot;c4c1c1m1r1a2&quot;}">Manufacturing</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/enterprise/financial-services/banking-and-capital-markets" data-m="{&quot;cN&quot;:&quot;Footer_Enterprise_FinanciaServices_nav&quot;,&quot;id&quot;:&quot;n7c4c1c1m1r1a2&quot;,&quot;sN&quot;:7,&quot;aN&quot;:&quot;c4c1c1m1r1a2&quot;}">Financial services</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/enterprise/retail-consumer-goods" data-m="{&quot;cN&quot;:&quot;Footer_Enterprise_Retail_nav&quot;,&quot;id&quot;:&quot;n8c4c1c1m1r1a2&quot;,&quot;sN&quot;:8,&quot;aN&quot;:&quot;c4c1c1m1r1a2&quot;}">Retail</a></li></ul></div><div class="c-uhff-nav-group" data-m="{&quot;cN&quot;:&quot;footerNavColumn5_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c5c1c1m1r1a2&quot;,&quot;sN&quot;:5,&quot;aN&quot;:&quot;c1c1m1r1a2&quot;}"><div class="c-heading-4">Developer</div><ul class="c-list f-bare"><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://visualstudio.microsoft.com/" data-m="{&quot;cN&quot;:&quot;Footer_Developer_MicrosoftVisualStudio_nav&quot;,&quot;id&quot;:&quot;n1c5c1c1m1r1a2&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c5c1c1m1r1a2&quot;}">Microsoft Visual Studio</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://developer.microsoft.com/en-us/windows" data-m="{&quot;cN&quot;:&quot;Footer_Developer_WindowsDevCenter_nav&quot;,&quot;id&quot;:&quot;n2c5c1c1m1r1a2&quot;,&quot;sN&quot;:2,&quot;aN&quot;:&quot;c5c1c1m1r1a2&quot;}">Windows Dev Center</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://msdn.microsoft.com/en-us" data-m="{&quot;cN&quot;:&quot;Footer_Developer_MicrosoftDeveloperNetwork_nav&quot;,&quot;id&quot;:&quot;n3c5c1c1m1r1a2&quot;,&quot;sN&quot;:3,&quot;aN&quot;:&quot;c5c1c1m1r1a2&quot;}">Developer Network</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://technet.microsoft.com/en-us" data-m="{&quot;cN&quot;:&quot;Footer_Developer_TechNet_nav&quot;,&quot;id&quot;:&quot;n4c5c1c1m1r1a2&quot;,&quot;sN&quot;:4,&quot;aN&quot;:&quot;c5c1c1m1r1a2&quot;}">TechNet</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://developer.microsoft.com/en-us/store/register" data-m="{&quot;cN&quot;:&quot;Footer_Developer_MicrosoftDeveloperProgram_nav&quot;,&quot;id&quot;:&quot;n5c5c1c1m1r1a2&quot;,&quot;sN&quot;:5,&quot;aN&quot;:&quot;c5c1c1m1r1a2&quot;}">Microsoft developer program</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://channel9.msdn.com/" data-m="{&quot;cN&quot;:&quot;Footer_Developer_Channel9_nav&quot;,&quot;id&quot;:&quot;n6c5c1c1m1r1a2&quot;,&quot;sN&quot;:6,&quot;aN&quot;:&quot;c5c1c1m1r1a2&quot;}">Channel 9</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://developer.microsoft.com/en-us/office" data-m="{&quot;cN&quot;:&quot;Footer_Developer_OfficeDevCenter_nav&quot;,&quot;id&quot;:&quot;n7c5c1c1m1r1a2&quot;,&quot;sN&quot;:7,&quot;aN&quot;:&quot;c5c1c1m1r1a2&quot;}">Office Dev Center</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/garage/" data-m="{&quot;cN&quot;:&quot;Microsoft Garage_nav&quot;,&quot;id&quot;:&quot;n8c5c1c1m1r1a2&quot;,&quot;sN&quot;:8,&quot;aN&quot;:&quot;c5c1c1m1r1a2&quot;}">Microsoft Garage</a></li></ul></div><div class="c-uhff-nav-group" data-m="{&quot;cN&quot;:&quot;footerNavColumn6_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c6c1c1m1r1a2&quot;,&quot;sN&quot;:6,&quot;aN&quot;:&quot;c1c1m1r1a2&quot;}"><div class="c-heading-4">Company</div><ul class="c-list f-bare"><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://careers.microsoft.com/" data-m="{&quot;cN&quot;:&quot;Footer_Company_Careers_nav&quot;,&quot;id&quot;:&quot;n1c6c1c1m1r1a2&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c6c1c1m1r1a2&quot;}">Careers</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/about" data-m="{&quot;cN&quot;:&quot;Footer_Company_AboutMicrosoft_nav&quot;,&quot;id&quot;:&quot;n2c6c1c1m1r1a2&quot;,&quot;sN&quot;:2,&quot;aN&quot;:&quot;c6c1c1m1r1a2&quot;}">About Microsoft</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://news.microsoft.com/" data-m="{&quot;cN&quot;:&quot;Footer_Company_CompanyNews_nav&quot;,&quot;id&quot;:&quot;n3c6c1c1m1r1a2&quot;,&quot;sN&quot;:3,&quot;aN&quot;:&quot;c6c1c1m1r1a2&quot;}">Company news</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://privacy.microsoft.com/en-us" data-m="{&quot;cN&quot;:&quot;Footer_Company_PrivacyAtMicrosoft_nav&quot;,&quot;id&quot;:&quot;n4c6c1c1m1r1a2&quot;,&quot;sN&quot;:4,&quot;aN&quot;:&quot;c6c1c1m1r1a2&quot;}">Privacy at Microsoft</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/investor/default.aspx" data-m="{&quot;cN&quot;:&quot;Footer_Company_Investors_nav&quot;,&quot;id&quot;:&quot;n5c6c1c1m1r1a2&quot;,&quot;sN&quot;:5,&quot;aN&quot;:&quot;c6c1c1m1r1a2&quot;}">Investors</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/diversity/" data-m="{&quot;cN&quot;:&quot;Footer_Company_DiversityAndInclusion_nav&quot;,&quot;id&quot;:&quot;n6c6c1c1m1r1a2&quot;,&quot;sN&quot;:6,&quot;aN&quot;:&quot;c6c1c1m1r1a2&quot;}">Diversity and inclusion</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/accessibility" data-m="{&quot;cN&quot;:&quot;Footer_Company_Accessibility_nav&quot;,&quot;id&quot;:&quot;n7c6c1c1m1r1a2&quot;,&quot;sN&quot;:7,&quot;aN&quot;:&quot;c6c1c1m1r1a2&quot;}">Accessibility</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/security/default.aspx" data-m="{&quot;cN&quot;:&quot;Footer_Company_Security_nav&quot;,&quot;id&quot;:&quot;n8c6c1c1m1r1a2&quot;,&quot;sN&quot;:8,&quot;aN&quot;:&quot;c6c1c1m1r1a2&quot;}">Security</a></li></ul></div></div></nav><div class="c-uhff-base"> <a id="locale-picker-link" aria-label="Content Language Selector. Currently set to English (United States)" class="c-uhff-link c-uhff-lang-selector c-glyph glyph-world" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/locale.aspx" data-m="{&quot;cN&quot;:&quot;locale_picker(US)_nav&quot;,&quot;id&quot;:&quot;n7c1c1m1r1a2&quot;,&quot;sN&quot;:7,&quot;aN&quot;:&quot;c1c1m1r1a2&quot;}">English (United States)</a><nav aria-label="Microsoft corporate links"><ul class="c-list f-bare" data-m="{&quot;cN&quot;:&quot;Corp links_cont&quot;,&quot;cT&quot;:&quot;Container&quot;,&quot;id&quot;:&quot;c8c1c1m1r1a2&quot;,&quot;sN&quot;:8,&quot;aN&quot;:&quot;c1c1m1r1a2&quot;}"><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/sitemap1.aspx" data-mscc-ic="false" data-m="{&quot;cN&quot;:&quot;Footer_Sitemap_nav&quot;,&quot;id&quot;:&quot;n1c8c1c1m1r1a2&quot;,&quot;sN&quot;:1,&quot;aN&quot;:&quot;c8c1c1m1r1a2&quot;}">Sitemap</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://support.microsoft.com/en-us/contactus" data-mscc-ic="false" data-m="{&quot;cN&quot;:&quot;Footer_ContactUs_nav&quot;,&quot;id&quot;:&quot;n2c8c1c1m1r1a2&quot;,&quot;sN&quot;:2,&quot;aN&quot;:&quot;c8c1c1m1r1a2&quot;}">Contact Microsoft</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://go.microsoft.com/fwlink/?LinkId=521839" data-mscc-ic="false" data-m="{&quot;cN&quot;:&quot;Footer_PrivacyandCookies_nav&quot;,&quot;id&quot;:&quot;n3c8c1c1m1r1a2&quot;,&quot;sN&quot;:3,&quot;aN&quot;:&quot;c8c1c1m1r1a2&quot;}">Privacy &amp; cookies </a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://go.microsoft.com/fwlink/?LinkID=206977" data-mscc-ic="false" data-m="{&quot;cN&quot;:&quot;Footer_TermsOfUse_nav&quot;,&quot;id&quot;:&quot;n4c8c1c1m1r1a2&quot;,&quot;sN&quot;:4,&quot;aN&quot;:&quot;c8c1c1m1r1a2&quot;}">Terms of use</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/trademarks" data-mscc-ic="false" data-m="{&quot;cN&quot;:&quot;Footer_Trademarks_nav&quot;,&quot;id&quot;:&quot;n5c8c1c1m1r1a2&quot;,&quot;sN&quot;:5,&quot;aN&quot;:&quot;c8c1c1m1r1a2&quot;}">Trademarks</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://www.microsoft.com/en-us/devices/safety-and-eco " data-mscc-ic="false" data-m="{&quot;cN&quot;:&quot;Footer_SafetyAndEco_nav&quot;,&quot;id&quot;:&quot;n6c8c1c1m1r1a2&quot;,&quot;sN&quot;:6,&quot;aN&quot;:&quot;c8c1c1m1r1a2&quot;}">Safety &amp; eco</a></li><li> <a class="c-uhff-link" href="https://web.archive.org/web/20200601151118/https://choice.microsoft.com/" data-mscc-ic="false" data-m="{&quot;cN&quot;:&quot;Footer_AboutourAds_nav&quot;,&quot;id&quot;:&quot;n7c8c1c1m1r1a2&quot;,&quot;sN&quot;:7,&quot;aN&quot;:&quot;c8c1c1m1r1a2&quot;}">About our ads</a></li><li>&#169; Microsoft 2020</li></ul></nav></div></footer></div></div></div> <script type="text/javascript">//fix calendar hide when change month var string = window.location.href, substring = "month="; if (string.includes(substring)) { document.getElementById('post-calendar-tab-link').click(); }</script> <script>var nrattr="userNotSignIn"; newrelic.setCustomAttribute('userSign', nrattr );</script> <script defer src="https://web.archive.org/web/20200601151118js_/https://devblogs.microsoft.com/dotnet/wp-content/cache/autoptimize/10/js/autoptimize_4adc2de9f64383ca0050941bdf4743f8.js"></script><script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"b0106f4dcd","applicationID":"205967553","transactionName":"YFFQNhYCV0RYVBEKWlkbcwEQClZZFkQMDVJbUQ==","queueTime":0,"applicationTime":2531,"atts":"TBZTQF4YREo=","errorBeacon":"bam.nr-data.net","agent":""}</script></body></html><!-- FILE ARCHIVED ON 15:11:18 Jun 01, 2020 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 23:55:48 Nov 27, 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.816 exclusion.robots: 0.031 exclusion.robots.policy: 0.019 esindex: 0.012 cdx.remote: 50.774 LoadShardBlock: 986.934 (6) PetaboxLoader3.datanode: 188.554 (8) PetaboxLoader3.resolve: 903.925 (4) load_resource: 284.985 (2) -->

Pages: 1 2 3 4 5 6 7 8 9 10