{"id":7086,"date":"2016-06-08T09:54:18","date_gmt":"2016-06-08T16:54:18","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/webdev\/?p=7086"},"modified":"2021-11-01T04:46:22","modified_gmt":"2021-11-01T11:46:22","slug":"notes-from-the-asp-net-community-standup-june-2-2016","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/notes-from-the-asp-net-community-standup-june-2-2016\/","title":{"rendered":"Notes from the ASP.NET Community Standup \u2013 June 2, 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\/qvG5oaS3pSQ?list=PL0M0zPgJ3HSftTAAHttA3JQU4vOjXFquF\" allowfullscreen><\/iframe>\n<\/div>\n<p>Scott Hanselman was unable to join us this week, but Scott Hunter joined us for some updates and to answer some questions that have been raised since the RC2 release.\u00a0 Since it has been a few weeks since our last video, Jon had a generous collection of community content to share:<\/p>\n<h3>Links of the Week<\/h3>\n<p>Mehul Harry <a href=\"https:\/\/community.devexpress.com\/blogs\/aspnet\/archive\/2016\/05\/20\/download-devextreme-taghelpers-for-asp-net-core-rc2.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">announces the DevExtreme TagHelpers<\/a> now support ASP.NET Core RC2.<\/p>\n<p>Jonathan Mezach overviews <a href=\"https:\/\/blogs.infosupport.com\/net-platform-standard-and-the-magic-of-imports\/\" target=\"_blank\" rel=\"noopener noreferrer\">the .NET Platform Standard and shows how to use &#8220;imports&#8221;<\/a> to include libraries that don&#8217;t target a specific netstandard version.<\/p>\n<p>Here&#8217;s an <a href=\"http:\/\/www.simplcommerce.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">intersting e-commerce system<\/a> by Thien Nguyen Le Quynh that&#8217;s based on ASP.NET Core targeting Windows and Linux using SQL Server and PostgreSQL.<\/p>\n<p>Jerrie Pelser shows <a href=\"http:\/\/www.jerriepelser.com\/blog\/aspnet-core-no-more-worries-about-checking-in-secrets\" target=\"_blank\" rel=\"noopener noreferrer\">how to use environment variables and the Secret Manager tool<\/a> to avoid checking user secrets in to source control.<\/p>\n<p>Marcin Zab\u0142ocki shows how he got <a href=\"http:\/\/zablo.net\/blog\/post\/run-and-debug-asp-net-core-rc2-ubuntu-16-04\" target=\"_blank\" rel=\"noopener noreferrer\">ASP.NET Core debugging working on Ubuntu 16.04<\/a>.<\/p>\n<p>David Pine shows how to <a href=\"https:\/\/ievangelist.github.io\/blog\/migrating-to-rc2\/\" target=\"_blank\" rel=\"noopener noreferrer\">upgrade tools and application code from ASP.NET Core RC1 to RC2<\/a>.<\/p>\n<p>Muhammad Rehan Saeed presents a <a href=\"http:\/\/rehansaeed.com\/azure-active-directory-versus-identity-server\/\" target=\"_blank\" rel=\"noopener noreferrer\">nice comparison between Azure Active Directory and IdentityServer<\/a>.<\/p>\n<p>Daria Grigoriu<a href=\"https:\/\/blogs.msdn.microsoft.com\/appserviceteam\/2016\/05\/24\/azure-app-service-and-asp-net-core-rc2\/\" target=\"_blank\" rel=\"noopener noreferrer\"> announces Azure App Service support for ASP.NET Core RC2, along with support for custom deployment scripts<\/a>.<\/p>\n<p>Tugberk Ugurlu describes the tooling changes he&#8217;s making as he updates his <a href=\"http:\/\/www.tugberkugurlu.com\/archive\/moving-to-asp-net-core-rc2-tooling\" target=\"_blank\" rel=\"noopener noreferrer\">ASP.NET Core applications to RC2<\/a>.<\/p>\n<p>Here&#8217;s <a href=\"http:\/\/andrewlock.net\/a-deep-dive-in-to-the-asp-net-core-cors-library\/\" target=\"_blank\" rel=\"noopener noreferrer\">a deep dive into the ASP.NET Core CORS library<\/a>, examinining implementation patterns and configuration.<\/p>\n<p>Dave Paquette examines the recently added <a href=\"http:\/\/www.davepaquette.com\/archive\/2016\/05\/22\/ASP-NET-Core-Distributed-Cache-Tag-Helper.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">Distributed Cache Tag Helper<\/a>, which allows you to store your ASP.NET Core cache outside of the ASP.NET Core host process.<\/p>\n<p>Eric L. Anderson highlights some <a href=\"http:\/\/www.elanderson.net\/2016\/05\/migration-from-asp-net-core-rc1-to-rc-2\/\" target=\"_blank\" rel=\"noopener noreferrer\">important differences in migrating from ASP.NET Core RC1 to RC2<\/a>.<\/p>\n<p>Pratap Lakshman announces <a href=\"https:\/\/blogs.msdn.microsoft.com\/visualstudioalm\/2016\/05\/30\/announcing-mstest-framework-support-for-net-core-rc2-asp-net-core-rc2\/\" target=\"_blank\" rel=\"noopener noreferrer\">MSTest Framework support for ASP.NET Core RC2<\/a>.<\/p>\n<p>Tony Sneed walks through <a href=\"https:\/\/github.com\/tonysneed\/Demo.AspNetCore.EF6\/tree\/migrate-rc2\" target=\"_blank\" rel=\"noopener noreferrer\">how to use Entity Framework 6 in an ASP.NET Core application<\/a>.<\/p>\n<p>Julie Lerman documents the process of <a href=\"http:\/\/thedatafarm.com\/data-access\/updating-to-rc2-changes-to-efcore-aspnetcore-postgresql-driver-xunit\/\" target=\"_blank\" rel=\"noopener noreferrer\">updating an ASP.NET Core \/ EF application to ASP.NET Core RC2<\/a>.<\/p>\n<p>Ben Cull <a href=\"http:\/\/benjii.me\/2016\/05\/dotnet-ef-migrations-for-asp-net-core\/\" target=\"_blank\" rel=\"noopener noreferrer\">overviews the basic EF Migration commands<\/a> and provides a workaround to get migrations working for a Class Library project.<\/p>\n<p>Jurgis Pasukonis walks through <a href=\"https:\/\/medium.com\/trafi-tech-beat\/running-net-core-on-docker-c438889eb5a\" target=\"_blank\" rel=\"noopener noreferrer\">creating a new ASP.NET Core application on OS X, running it in Docker, and deploying to AWS container service<\/a>.<\/p>\n<p>Ben Foster <a href=\"http:\/\/benfoster.io\/blog\/how-to-configure-kestrel-urls-in-aspnet-core-rc2\" target=\"_blank\" rel=\"noopener noreferrer\">explains how Kestrel URLs are configured in ASP.NET Core RC2<\/a>.<\/p>\n<p>Shayne Boyer shows <a href=\"http:\/\/tattoocoder.com\/asp-net-core-getting-clean-with-soap\/\" target=\"_blank\" rel=\"noopener noreferrer\">how he called a WCF service from an ASP.NET Core application<\/a>.<\/p>\n<p>Simone Chiaretta shows <a href=\"http:\/\/codeclimber.net.nz\/archive\/2016\/05\/20\/How-to-debug-NET-Core-RC2-app-with-Visual-Studio.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">how to set up debugging for .NET Core RC2 applications in Visual Studio Code<\/a>.<\/p>\n<p>Jon Smith shares some <a href=\"http:\/\/www.thereformedprogrammer.net\/templates-for-building-react-front-ends-in-asp-net-core-and-mvc5\/\" target=\"_blank\" rel=\"noopener noreferrer\">comprehensive templates for React applications in both ASP.NET Core and ASP.NET MVC 5<\/a>.<\/p>\n<p>Rick Strahl shows how to take advantage of<a href=\"http:\/\/weblog.west-wind.com\/posts\/2016\/May\/23\/Strongly-Typed-Configuration-Settings-in-ASPNET-Core\" target=\"_blank\" rel=\"noopener noreferrer\"> strongly typed configuration settings in ASP.NET Core<\/a>.<\/p>\n<p>Sergio Sisternes walks through <a href=\"https:\/\/www.sesispla.net\/blog\/language\/en\/2016\/05\/running-asp-net-core-1-0-rc2-in-docker\/\" target=\"_blank\" rel=\"noopener noreferrer\">the process of deploying an ASP.NET Core application to Docker<\/a>, along with some interesting &#8220;extra credit&#8221; steps once that&#8217;s running.<\/p>\n<p>Hisham Bin Ateya shows <a href=\"http:\/\/en.xn--mgbz4cf.com\/post\/css--javascript-minification-taghelpers\" target=\"_blank\" rel=\"noopener noreferrer\">how to optimize JavaScript and CSS files using a custom minifier tag helper<\/a>.<\/p>\n<p>Here&#8217;s <a href=\"http:\/\/fiyazhasan.me\/angularjs-anti-forgery-with-asp-net-core\/\" target=\"_blank\" rel=\"noopener noreferrer\">a tutorial from Fiyaz Hasan covering anti-forgery in Angular \/ ASP.NET Core applications<\/a>.<\/p>\n<p>Khalid Abuhakmeh shares <a href=\"http:\/\/www.khalidabuhakmeh.com\/middlewarebuilder-for-asp-net-core-1-0-rc2\" target=\"_blank\" rel=\"noopener noreferrer\">a fluent builder approach for conditional middleware configuration<\/a>.<\/p>\n<p>Hisham Bin Ateya shares a nice <a href=\"http:\/\/en.xn--mgbz4cf.com\/post\/build-customizable-language-switcher-tag-helper-with-bootstrap\" target=\"_blank\" rel=\"noopener noreferrer\">Bootstrap based language switcher tag helper<\/a>.<\/p>\n<h3>Discussion<\/h3>\n<p>Scott and Damian took some time to reflect on some of the comments we have heard regarding the recent announcements and discussions for .NET Core.\u00a0 They started with the post about &#8216; <a href=\"https:\/\/blogs.msdn.microsoft.com\/dotnet\/2016\/05\/27\/making-it-easier-to-port-to-net-core\/\" target=\"_blank\" rel=\"noopener noreferrer\">Making it easier to port to .NET Core<\/a>&#8216;.<\/p>\n<p>They heard the confusion about the migration and portability capabilities discussed in this post.\u00a0 Scott says that the .NET Core team really wants to have a great experience building for mobile devices with Xamarin and UWP and also a great experience when building applications for the web or a server.\u00a0 Sometimes there are conflicting designs that need to be resolved, such as the larger framework available for the development of mobile applications and the ASP.NET Core framework attempting to deliver a smaller server-focused version of the framework.\u00a0 The direction discussed in that blog post is not an attempt to take away from the server framework&#8217;s goal.<\/p>\n<p>Damian asked about the concerns some folks had about the use of mscorlib and if it means that the software constructed on GitHub is no longer useful.\u00a0 Scott indicated that the work done on GitHub to refactor and make smaller assemblies is still very valid, and they are discussing the best way to bring compatibility with mscorlib targeted assemblies to ASP.NET Core.\u00a0 There are details around how applications will reference mscorlib, the .NET Core assembly, or even a Xamarin assembly at compile time.\u00a0 Its very early in the planning process, and the team is sharing their initial thoughts.\u00a0 The key goal is that ASP.NET Core should get better compatibility with the .NET frameworks that the majority of the world is currently using.<\/p>\n<p>Scott went on to explain a few compatibility goals that the .NET teams have: \n*   An existing Xamarin customer should be able to take their code to UWP projects.\u00a0 A UWP project should be able to take code and use it in a Xamarin project, and either of those codebases should be usable on a server.\u00a0 Unity should be similarly compatible with server, Xamarin, and UWP code.\n*   We want to make packages the delivery vehicle for .NET without having to make a bunch of compiled binaries in separate folder in the package.\u00a0 Package contents should get much simpler for maintainers and consumers.\u00a0 They should be simpler and very compatible across Unity, Xamarin, UWP, Desktop, and Server.\n*   Scott calls this &#8216;taking the development platform back&#8217; and having the .NET team lead the direction of the framework.\u00a0 PCL was the smallest intersection of the capabilities of the various frameworks, and the .NET team wants to expand that definition to make it easier to re-use code.\u00a0 The example Scott references is that the UWP removed APIs from .NET because there were APIs in Windows that did the same thing.\u00a0 Scott wants to ensure that .NET developers can use these common APIs everywhere. Damian went on to clarify the shared vision concept of the .NET frameworks.\u00a0 The shared capabilities are summarized in this graphic from <a href=\"https:\/\/channel9.msdn.com\/Events\/Build\/2016\/B891\" target=\"_blank\" rel=\"noopener noreferrer\">Scott Hunter&#8217;s .NET Overview session at Build 2016<\/a>:<\/p>\n<p><a href=\"http:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2016\/06\/frameworkVision.png\"><img decoding=\"async\" class=\"aligncenter size-mediumlarge wp-image-7095\" src=\"\" alt=\".NET Framework Vision\" width=\"500\" height=\"257\" \/><\/a><\/p>\n<p>The .NET Standard defines a common API surface for those shared features with a full implementation that is enabled for you when compiling for your specific target platform.\u00a0 There are things that could be brought back from mscorlib and NOT placed in .NET Standard, they could be placed only in those verticals appropriate for the target platform.\u00a0 This planning is still in the early stages, and the teams are working through these concepts.<\/p>\n<p>Jon asked about timing: when are these changes going to occur, with a planned RTM in June, does this impact that?\u00a0 Damian clarified that this is a roadmap and a plan for features to add to .NET standard going forward.\u00a0 These plans should help to make .NET APIs common and available for polyglot developers who work on more than just server or just mobile.\u00a0 The APIs made available in .NET Core 1.0 RTM won&#8217;t change, they&#8217;ll grow and some will be contributed back to the .NET Standard.\u00a0 The plan has always been to add more APIs after 1.0 RTM, and this is the beginning of those discussions.\u00a0 Things like ADO.NET are in discussion as an API that could be made available after RTM.<\/p>\n<p>The planned release in June will have the RTM of the ASP.NET Core framework with a preview 2 version of the tools, debuggers, and templates that support it.\u00a0 As more details emerge around future plans, the team will blog about it.<\/p>\n<p>Scott indicated that sometimes the context of the standup videos, including the On .NET standup, gets lost.\u00a0 The team plans to blog more about their status, and writeups like this one will have more clarity about what the team is working on.\u00a0 Scott gave an example of the MSBuild changes that were discussed &#8211; the team finally got into a room and started discussing the direction last week.\u00a0 Something discussed as a direction doesn&#8217;t mean that its fully designed and engineers are writing code.\u00a0 Damian described that their process starts with a planned goal that has a number of directions for the team and those directions need to be planned out before engineers can write code to meet the original goals.<\/p>\n<p>Scott indicated that the .NET vision and the goals being described in the open are just that: ideas.\u00a0 As part of the open approach from Microsoft, we want to discuss concepts as the development platform evolves.<\/p>\n<p>With regards to the project.json to MSBuild change, the team ran into challenges in building a project.json model that supported MSBuild based libraries and capabilities while working with tools that only supported MSBuild.\u00a0 The team couldn&#8217;t justify spending two more years to build compatibility with every project type when they could go back to the incumbent and enhance it with the capabilities that we learnd from two years of development on project.json.\u00a0 As we realized that we wouldn&#8217;t deliver much more value in adding that compatibility compared to switching back to an MSBuild based model.\u00a0 We don&#8217;t plan to give up those features of project.json, and they will appear in MSBuild and csproj in the future.<\/p>\n<p>Damian went on the clarify that the team wants to spend their time innovating framework features in the standard library and shared components so that all .NET developers can benefit.\u00a0 In this way, the vertical frameworks can focus on the innovations specific to their vertical.<\/p>\n<p>If you have questions about these discussions or topics, please ask your questions below and someone from the team will answer you.\u00a0 This is a collaborative effort, and it is important to us that you get the information you need about these discussions.\u00a0 This also enables everyone to see and interact with the documentation about these changes.<\/p>\n<p>Scott wants to ensure that the context of the major announcements happen on this blog and allow the standup videos to focus on discussing those features specific to the vertical.\u00a0 Scott is excited that the ASP.NET team is able to start talking about and working on web features.<\/p>\n<p>A question came up about the difference between the RTM of the ASP.NET Core framework and the tooling being in a preview release.\u00a0 The runtime and framework has been in a real solid place, with a number of customers already running in production with the RC1 release and waiting for the RTM of ASP.NET Core.\u00a0 We were holding back the framework and runtime for the tooling, even though ASP.NET Core and .NET Core have been through their stress tests and security checks.\u00a0 We don&#8217;t want to keep you waiting for the resolution of some of these tooling changes that you may not need because the current ASP.NET Core meets your needs.\u00a0 If you need the interoperability of the planned MSBuild tool, you will need to wait for that to be completed.<\/p>\n<p>The team is committed to eliminating any kind of migration effort between RTM and the VS15 tooling release.\u00a0 They plan to make opening a project is VS15 as easy as opening your VS2015 project and it will be converted to the new MSBuild model.\u00a0 The release of framework as an RTM with tooling still in preview is a bit weird, but not without precedent as the UWP tools went through a similar release schedule in 2015.\u00a0 The ASP.NET team knows that the tools are going to change, but the framework is not planned to change.\u00a0 They want to be able to enhance the tools without holding customers back any longer.<\/p>\n<p>Scott also responded to some comments about &#8220;the .NET team got involved with ASP.NET Core and now things are in a strange place&#8221;.\u00a0 The ASP.NET and .NET efforts are being worked on by a single team that owns both products.\u00a0 Its one team, and in fact the folks that initiated the discussion to use MSBuild instead of project.json were responsible for ASP.NET.\u00a0 The team cares about all of the platforms: Unity, Desktop, Server, and Xamarin and wants everyone to succeed. Tune in to dotNetConf the week of June 7-June 9 and we&#8217;ll be back the week after with another video. \u00a0 \u00a0<\/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-7086","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\/7086","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=7086"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/7086\/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=7086"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=7086"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=7086"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}