{"id":7425,"date":"2016-07-13T09:23:47","date_gmt":"2016-07-13T16:23:47","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/webdev\/?p=7425"},"modified":"2021-11-01T04:42:10","modified_gmt":"2021-11-01T11:42:10","slug":"notes-from-the-asp-net-community-standup-july-5-2016","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/notes-from-the-asp-net-community-standup-july-5-2016\/","title":{"rendered":"Notes from the ASP.NET Community Standup \u2013 July 5, 2016"},"content":{"rendered":"<p>This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes,\u00a0<a href=\"https:\/\/twitter.com\/shanselman\">Scott Hanselman<\/a>,\u00a0<a href=\"https:\/\/twitter.com\/damianedwards\">Damian Edwards<\/a>,\u00a0<a href=\"https:\/\/twitter.com\/jongalloway\">Jon Galloway<\/a>\u00a0and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams.<\/p>\n<p>Each week the standup is hosted live on Google Hangouts and the team publishes the recorded video of their discussion to YouTube for later reference. The guys answer your questions LIVE and unfiltered. This is your chance to ask about the why and what of ASP.NET! Join them each Tuesday on live.asp.net where the meeting\u2019s schedule is posted and hosted.<\/p>\n<p><em>(Note from Jeff:\u00a0 My apologies for the delay on this one)<\/em><\/p>\n<p>This week\u2019s meeting is below:<\/p>\n<div style=\"text-align: center\">\n  <iframe width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/i4pLgQw6bRA?list=PL0M0zPgJ3HSftTAAHttA3JQU4vOjXFquF\" allowfullscreen><\/iframe>\n<\/div>\n<div style=\"text-align: center\">\n<\/div>\n<div style=\"text-align: left\">\n<h2>\n    Community Links\n  <\/h2>\n<p> Channel 9 has the video from \n  <a href=\"https:\/\/channel9.msdn.com\/Events\/Linux\/DevNation-2016\" target=\"_blank\" rel=\"noopener noreferrer\">RedHat DevNation where Scott announced the RTM of ASP.NET Core<\/a> <\/p>\n<p>Rick Strahl has an <a href=\"https:\/\/weblog.west-wind.com\/posts\/2016\/Jun\/29\/First-Steps-Exploring-NET-Core-and-ASPNET-Core\" target=\"_blank\" rel=\"noopener noreferrer\">in-depth exploration of ASP.NET Core features<\/a> and a getting-started deep-dive <\/p>\n<p>Stephen Cleary shared his findings when <a href=\"http:\/\/blog.stephencleary.com\/2016\/06\/dotnet-netcore-versions.html\" target=\"_blank\" rel=\"noopener noreferrer\">working with .NET and .NET Core versions<\/a> <\/p>\n<p>Andrew Lock wrote about<a href=\"http:\/\/andrewlock.net\/configuring-urls-with-kestrel-iis-and-iis-express-with-asp-net-core\" target=\"_blank\" rel=\"noopener noreferrer\"> how to configure URLs for Kestrel and IIS Express in ASP.NET Core<\/a> <\/p>\n<p>Filip wrote some <a href=\"https:\/\/github.com\/WebApiContrib\/WebAPIContrib.Core\/pull\/34\" target=\"_blank\" rel=\"noopener noreferrer\">code for the WebAPIContrib projec<\/a>t that enables web pages to be built with razor and served easily <\/p>\n<p>Paul shared his <a href=\"http:\/\/www.artifextech.com\/blog\/upgrading-dot-net-core-1-rtm\/\" target=\"_blank\" rel=\"noopener noreferrer\">experience upgrading a project to .NET Core 1 RTM <\/a> <\/p>\n<p>Michael walks through <a href=\"http:\/\/www.michael-whelan.net\/porting-dotnet-framework-library-to-dotnet-core\/\" target=\"_blank\" rel=\"noopener noreferrer\">porting a .NET framework library to be compatible with .NET Core<\/a> <\/p>\n<p>Tomas Janczuk updated his <a href=\"https:\/\/github.com\/tjanczuk\/edge\" target=\"_blank\" rel=\"noopener noreferrer\">EdgeJS project<\/a> that allows you to host .NET Core applications inside of a nodeJS project. <\/p>\n<p>Ben Cull wrote about <a href=\"http:\/\/benjii.me\/2016\/06\/entity-framework-core-migrations-for-class-library-projects\/\" target=\"_blank\" rel=\"noopener noreferrer\">using Entity Framework with class library projects<\/a>.\u00a0 Damian gave us a friendly reminder that tooling that supports this type of activity is in preview. <\/p>\n<p>Jonathan Channon showed us<a href=\"http:\/\/blog.jonathanchannon.com\/2016\/06\/27\/porting-owin-middleware-aspnetcore\/\" target=\"_blank\" rel=\"noopener noreferrer\"> how to port OWIN middleware to ASP.NET Core<\/a> <\/p>\n<p>Dominic Baier updated his <a href=\"https:\/\/github.com\/leastprivilege\/AspNetCoreSecuritySamples\" target=\"_blank\" rel=\"noopener noreferrer\">security samples for the RTM of ASP.NET Core<\/a> <\/p>\n<p>Martin Woodward shared some code that demonstrates <a href=\"https:\/\/gist.github.com\/martinwoodward\/f5b195aa53b4ed52cabaf701486baa79\" target=\"_blank\" rel=\"noopener noreferrer\">how to PInvoke on Linux with .NET Core.\u00a0<\/a> <\/p>\n<p>Travis wrote about <a href=\"http:\/\/www.paraesthesia.com\/archive\/2016\/06\/29\/netcore-rtm-where-is-autofac\/\" target=\"_blank\" rel=\"noopener noreferrer\">Autofac and the process to update for RTM<\/a> <\/p>\n<p>The <a href=\"https:\/\/twitter.com\/SignalR\/status\/750444017129664512\" target=\"_blank\" rel=\"noopener noreferrer\">SignalR team is looking for feedback<\/a> on their next release, SignalR 2.2.1 <\/p>\n<p>Damien updated his <a href=\"https:\/\/damienbod.com\/2016\/03\/02\/angular2-openid-connect-implicit-flow-with-identityserver4\/\" target=\"_blank\" rel=\"noopener noreferrer\">samples for using Angular2 with IdentityServer 4<\/a> <\/p>\n<p>The ASP.NET Monsters <a href=\"https:\/\/channel9.msdn.com\/Series\/aspnetmonsters\/ASPNET-Monsters-Episode-43-Hello-Bundler-Minifier-with-Mads-Kristensen\" target=\"_blank\" rel=\"noopener noreferrer\">chatted with Mads Kristensen about the bundler-minifier<\/a> <\/p>\n<p>Tianxiang shared a<a href=\"https:\/\/github.com\/txchen\/dotnet-spa\" target=\"_blank\" rel=\"noopener noreferrer\"> sample that demonstrates how to use webpack and vue<\/a> <\/p>\n<p>Matias wrote <a href=\"https:\/\/github.com\/ealsur\/minicompiler\" target=\"_blank\" rel=\"noopener noreferrer\">some code to bundle and minify content for ASP.NET Core<\/a> <\/p>\n<p><a href=\"https:\/\/github.com\/Shazwazza\/Smidge\/releases\/tag\/1.0.0\" target=\"_blank\" rel=\"noopener noreferrer\">Smidge <\/a>is another option for bundling and minifying, and it has been updated to support RTM <\/p>\n<p>Maxime has<a href=\"http:\/\/blog.decayingcode.com\/post\/using-static-content-generation-in-asp.net-core\/\" target=\"_blank\" rel=\"noopener noreferrer\"> some middleware that writes content to disk so that your ASP.NET Core site gets written to disk as static HTML<\/a> <\/p>\n<p>Katacoda released<a href=\"https:\/\/www.katacoda.com\/courses\/dotnet-in-docker\/deploying-aspnet-core-as-docker-container\" target=\"_blank\" rel=\"noopener noreferrer\"> a course that teaches you how to deploy ASP.NET Core as a docker container<\/a> <\/p>\n<p>Maher has decompiled the <a href=\"http:\/\/dot.net\">http:\/\/dot.net<\/a> site to <a href=\"http:\/\/www.maherjendoubi.io\/new-repl-on-the-browser-for-net-2\/\" target=\"_blank\" rel=\"noopener noreferrer\">show how the tutorials work that the Microsoft team wrote <\/a> <\/p>\n<p>Adaptive shareed a couple of links that <a href=\"http:\/\/weareadaptive.com\/2016\/05\/26\/1123\/\" target=\"_blank\" rel=\"noopener noreferrer\">demonstrate an open-sourced real-time trading platform built on ASP.NET Core<\/a>.\u00a0 This is a more complex sample to walk through.\u00a0 <a href=\"http:\/\/weareadaptive.com\/2016\/06\/30\/reactive-trader-cloud-net-core-series-intro\/\">http:\/\/weareadaptive.com\/2016\/06\/30\/reactive-trader-cloud-net-core-series-intro\/<\/a> <\/p>\n<h2>\n    Speeding up your ASP.NET Core Deployment to Azure\n  <\/h2>\n<p>Damian did a review of the ASP.NET Core deployment that he demonstrated last week and showed how to improve the deployment process.\u00a0 Last week, it took approximately 12 minutes to deploy the application, and this was considered a &#8220;worst case&#8221; deployment because it delivered brand new content to the web server.\u00a0 In subsequent deployments, only the changes would be deployed, but it was still taking six to seven minutes. <\/p>\n<p>Damian showed how there are two drives that support an Azure Web Application &#8211; a slow drive and a fast drive.\u00a0 The slow drive contains the code that persists to Azure blob storage across site restarts, machine moves, and deployments.\u00a0 The fast drive is local to the machine that hosts the application and is much faster.\u00a0 He then took us to the Kudu tooling console for his web application that lives at the  <a href=\"https:\/\/YOURWEBAPPNAME.scm.azurewebsites.net\">https:\/\/YOURWEBAPPNAME.scm.azurewebsites.net<\/a>.\u00a0 From this menu, he navigated to the Debug console and was presented with a console in the browser that he could use to test various elements of the deployment process. <\/p>\n<p>The repository folder on the &#8216;slow drive&#8217; is where the Kudu process places a copy of the source code that it will compile and deploy to IIS on the &#8216;fast drive&#8217;.\u00a0The build scripts that Kudu uses to execute and build your application are found at: <a href=\"https:\/\/github.com\/microsoft\/\">https:\/\/github.com\/projectkudu\/KuduScript\/tree\/master\/lib\/templates Kudu writes a log file to the site \/<\/a> deployments \/ SHA \/ log.log complete with timestamps so that you can measure and monitor a deployment. <\/p>\n<p>Damian showed his work-around for this by moving his compile process from the &#8216;fast drive&#8217; and he showed us the steps in that process.\u00a0 He started by navigating to the Application Settings in the Azure Portal for his web application and setting the environment variable &#8220;SCM_REPOSITORY_PATH&#8221; to a location under the d:\\local folder, in his case he set it to d:\\local\\repository\u00a0 This instructs Kudu to clone the source of your project to the &#8216;fast drive&#8217; and do the compilation and build work with the fast drive.\u00a0 The problem with this is that this compile location will be lost if you restart the web application or the application stops because Azure will deploy a new copy of the application to a new host location.\u00a0 You can click the button in the Azure portal to sync your source code and then redeploy the application. <\/p>\n<p>This is just a work-around as the teams are working on improving the experience. <\/p>\n<h2>\n    Questions\n  <\/h2>\n<p>  <b>Question:<\/b> What are the plans for packaging content in NuGet packages? &#8212; The NuGet package spec now supports a contentFiles element that you can use for content.\u00a0 Check the NuGet blog post &#8216;<a href=\"https:\/\/blog.nuget.org\/20160126\/nuget-contentFiles-demystified.html\">ContentFiles Demystified<\/a>&#8216; for more details. <\/p>\n<p><b>Question:<\/b>\u00a0 Is there a way to reduce the significant volume of packages that are referenced and added indirectly to my project when I reference netcoreapp in project.json? &#8212; The default project model is a &#8216;portable project&#8217; which does require and carry all packages for the framework with it.\u00a0 This happens because you are referencing netcoreapp with type &#8216;platform&#8217;.\u00a0 This portable model prevents packages the packages from being downloaded and these binaries from being written to your bin folder. <\/p>\n<p><b>Question:<\/b>\u00a0 Is there a way to change Azure Web Apps from using the folder structure &#8220;sites\/wwwroot\/wwwroot&#8221; &#8212; You can change the configuration in Application Settings on the Azure portal, but we haven&#8217;t tested what happens with that <\/p>\n<p><b>Question:<\/b>\u00a0 Any update on making the ASP.NET Core Module OSS or stand-alone? &#8212; If you are on a server where you just want the module installed, you can use the <a href=\"https:\/\/www.microsoft.com\/net\/download#winserverhost\">windows server installer<\/a> with some command-line additions.\u00a0 More information about configuring IIS can be found in the <a href=\"https:\/\/docs.asp.net\/en\/latest\/publishing\/iis.html\">ASP.NET Docs<\/a>\u00a0 Open sourcing this module is on the roadmap. <\/p>\n<p><b>Question:<\/b>\u00a0 Any update on native compilation? &#8212; No update currently\u2026 it is still under investigation <\/p>\n<p><b>Question:<\/b>\u00a0 Will NuGet&#8217;s package store global package folder location be available for use in other project models? &#8212; Damian thinks this might be coming as part of the project.json -&gt; csproj update.\u00a0 You can use this model now with project.json in other project types, and <a href=\"https:\/\/oren.codes\/2016\/02\/08\/project-json-all-the-things\/\">Oren Novotny has instructions on his blog about configuring other projects<\/a>. <\/p>\n<p><b>Question:<\/b>\u00a0 When can we expect to see performance improvements on compile times? &#8212; Its scheduled as part of the MSBuild work, and that&#8217;s where the team is currently focused. <\/p>\n<p><b>Question:<\/b>\u00a0 Are there any plans to bring in-memory compilation back? &#8212; The features we demonstrated previously are still functioning, with compilations written to disk as files are changed, and in-memory compilation isn&#8217;t required to achieve the &#8220;change cs file and refresh the browser&#8221; feature.\u00a0 It is not as fast as it used to be, and the razor compilation is in-memory. <\/p>\n<p><b>Question:<\/b>\u00a0 Does the MSBuild process have a simple and straightforward way to publish packages from a class library? &#8212; We expect the current features to still be available after the migration, we&#8217;re not entirely sure what shape that will take.\u00a0 More details will be shared as they are available.\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. [&hellip;]<\/p>\n","protected":false},"author":405,"featured_media":58792,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[197,7509],"tags":[7501],"class_list":["post-7425","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aspnet","category-aspnetcore","tag-communitystandup"],"acf":[],"blog_post_summary":"<p>This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/7425","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/405"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=7425"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/7425\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/58792"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=7425"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=7425"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=7425"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}