{"id":36832,"date":"2016-04-21T18:40:38","date_gmt":"2016-04-22T01:40:38","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/webdev\/?p=6695"},"modified":"2021-11-01T04:51:34","modified_gmt":"2021-11-01T11:51:34","slug":"notes-from-the-asp-net-community-standup-april-19-2016","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/notes-from-the-asp-net-community-standup-april-19-2016\/","title":{"rendered":"Notes from the ASP.NET Community Standup &#8211; April 19, 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>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\/hfJgGHqVcLI?list=PL0M0zPgJ3HSftTAAHttA3JQU4vOjXFquF\" allowfullscreen><\/iframe>\n<\/div>\n<p>This week&#8217;s standup featured Scott and Damian, with Jon on assignment so our boss Scott Hunter sat in with the guys while they were at the <a href=\"http:\/\/devintersection.com\" target=\"_blank\" rel=\"noopener noreferrer\">DevIntersection<\/a> conference in Orlando, Florida this week.\u00a0 Damian took a minute at the beginning to explain to Scott how sunglasses work and then the three set forth on the topic for this week&#8217;s standup, which is all about the accomplishments of the dev team this week.<\/p>\n<p>Scott pointed out that regularly featured blogger here on the standup, <a href=\"http:\/\/tattoocoder.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Shayne Boyer<\/a> was in the room with them also&#8230; and pointed out that Shayne has a fine looking beard.\u00a0 (Transcriptionist note:\u00a0 I think this may be in response to the comment from <a href=\"https:\/\/youtu.be\/cfxuJsZIK4A?t=3m4s\" target=\"_blank\" rel=\"noopener noreferrer\">April 5th when Scott relayed that attendees at Build commented that he had a &#8220;weak&#8221; beard<\/a>.\u00a0 If Scott&#8217;s isn&#8217;t strong, then Shayne&#8217;s is <a href=\"https:\/\/youtu.be\/4R1yGDSrD0Q\">Magnus Ver Magnusson<\/a>)<\/p>\n<p>Damian gave an all-day workshop at DevIntersection, and had the FIRST internal RC2 tooling build since November.\u00a0 This is an important milestone, as the team now has completed tooling and framework builds that can be tested and cleaned for quality.\u00a0 Scott Hunter and Damian had each found some issues with this build and are not yet making this version of the tools public.\u00a0 Damian and Scott Hunter discussed the possible timeframes to complete the quality work on this RC2 version.\u00a0 The agreed projected release of this version could be in the next 4-6 weeks.<\/p>\n<p>Scott Hanselman described the difference between the runtime framework and this tooling release.\u00a0 The tooling is the part that provides the UI and project models and templates in Visual Studio for .NET Core and the other web tools.\u00a0 This also means that the installer and continuous integration process for ASP.NET Core and .NET Core are completely configured and can deliver new builds for testing on a regular basis.<\/p>\n<p>This is a raw build with updates needed to polish the UI.\u00a0 For example, the new &#8216;New Project&#8217; window now breaks out Web and .NET Core options:<\/p>\n<p><figure id=\"attachment_6705\" aria-labelledby=\"figcaption_attachment_6705\" class=\"wp-caption aligncenter\" ><a href=\"http:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2016\/04\/NewProject.png\"><img decoding=\"async\" class=\"size-medium wp-image-6705\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2016\/04\/NewProject-300x208-1.png\" alt=\"New Project Dialog\" width=\"300\" height=\"208\" \/><\/a><figcaption id=\"figcaption_attachment_6705\" class=\"wp-caption-text\">New Project Dialog<\/figcaption><\/figure><\/p>\n<p>A little confusing, but needs some polish before we ship it.<\/p>\n<p>The .NET Core option shows all of the project types that can be built on the .NET Core framework.\u00a0 This means that the ASP.NET Core on .NET Core project type is in this section as well.<\/p>\n<p>These screens lead to a simpler &#8220;One ASP.NET template&#8221; dialog that is in process of being cleaned up:<\/p>\n<p><figure id=\"attachment_6715\" aria-labelledby=\"figcaption_attachment_6715\" class=\"wp-caption aligncenter\" ><a href=\"http:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2016\/04\/oneAspNet.png\"><img decoding=\"async\" class=\"size-medium wp-image-6715\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2016\/04\/oneAspNet-300x234-1.png\" alt=\"One ASP.NET Template Selection\" width=\"300\" height=\"234\" \/><\/a><figcaption id=\"figcaption_attachment_6715\" class=\"wp-caption-text\">One ASP.NET Template Selection<\/figcaption><\/figure><\/p>\n<p>Scott had a package downgrade issue when starting a new project.\u00a0 Closing and reopening the project installed the latest version of the package, and this was an artifact of an older package referencing an older version of a package.\u00a0 As part of diagnosing this, Damian showed that the current &#8216;New Project&#8217; experience installs packages differently from re-opening a project.\u00a0 Creating a new project grabs a copy of the local packages that were deployed with Visual Studio, optimizing against remote connections to NuGet.org to create a new project.<\/p>\n<p>Scott Hunter showed and started talking about the new static void Main method that is present in the Program.cs file in a new ASP.NET Core RC2 project.\u00a0 That code is below:<\/p>\n<p>This shows that the entry point of the web application is no longer some magic entry point, this is where .NET applications start &#8211; in static void main.\u00a0 The web application is compiled to a DLL and the dotnet.exe command-line-interface knows how to locate this method and start the application.\u00a0 This structure allows the application to be portable, as the dotnet.exe is native to the operating system and knows how to load the DLL on its platform.\u00a0 The application can be made standalone, but we need to capture information about the target platform that would be compiled to.<\/p>\n<p>The UseKestrel statement is the webserver for your ASP.NET Core application and it runs in your process.\u00a0 By adding the UseIISIntegration statement, the information from the AspNetCoreModule hosting the process in IIS will pass all of the IIS context information into the Kestrel webserver.\u00a0 This statement runs a noop when executing on a non-Windows platform.<\/p>\n<p>In project.json, there is a new child element in the &#8220;dotnet-razor-tooling&#8221; that indicates &#8220;type: build&#8221; to show that this dependency is only needed during build-time and now during run-time.\u00a0 The &#8220;type: platform&#8221; indicates that the content of that reference should not be copied during a publish operation and should be available with the runtime on a target environment.\u00a0 If the &#8220;type: platform&#8221; element is removed, the content of the package is copied into the publish target.<\/p>\n<p>Scott pointed out the frameworks-&gt;imports element that calls out a number of target-framework-monikers from other platforms like &#8220;dotnet5.6&#8221;, &#8220;dnxcore50&#8221;, and &#8220;portable-net45+win8&#8221;.\u00a0 These are nested on a framework named &#8220;netcoreapp1.0&#8221;.\u00a0 As that target framework does not yet exist, this imports statement is a lie that you can tell the build process to indicate that the build process can try using these frameworks in packages in the order listed.<\/p>\n<p>The netcoreapp1.0 framework depends on netstandard1.5 which derives from netstandard1.4 and so on back to netstandard1.1 depends on netstandard1.0 which depends on nothing.\u00a0 The team also pointed out that at some point in the future they want to greatly simplify the default project.json so that a basic ASP.NET Core project doesn&#8217;t require all of the ceremony of a large project.json file.\u00a0 That&#8217;s still to be discussed and planned, and not in the plans for the near future.<\/p>\n<p>Scott Hunter pointed out that this is a journey, and many cool features are coming in the future after the team delivers the first version of the product.<\/p>\n<p>Further down the project.json file, Scott called out the &#8220;content&#8221; element.\u00a0 Damian explained that this is the collection of folders and files that need to be included in the published output.\u00a0 In a future release, this element will be renamed to publish_include (transcription note: its not clear what the final spelling will be from this video)\u00a0 The scripts element at the end is the same collection of events that you can connect scripts to in order to execute during the publish processes.<\/p>\n<p>Scott asked about an update to the dnvm list command.\u00a0 Damian indicated that its not available yet for RC2, but a spec for a &#8220;dotnet runtimes&#8221; command is being talked about to deliver this feature in the future.\u00a0 The team wants it to look in the local folder, the user profile folder, and the machine-wide list of runtimes.<\/p>\n<p>Scott Hanselman indicated that the discussions that you saw in this video are a typical day at the office between the teammates.\u00a0 With that, the guys signed off and they&#8217;ll be back next week to answer your questions.<\/p>\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-36832","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\/36832","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=36832"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/36832\/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=36832"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=36832"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=36832"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}