{"id":36844,"date":"2016-06-22T21:46:31","date_gmt":"2016-06-23T04:46:31","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/webdev\/?p=7185"},"modified":"2021-11-01T04:43:30","modified_gmt":"2021-11-01T11:43:30","slug":"notes-from-the-asp-net-community-standup-june-21-2016","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/notes-from-the-asp-net-community-standup-june-21-2016\/","title":{"rendered":"Notes from the ASP.NET Community Standup &#8211; June 21, 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. 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\/_nF3BQmrdkU\" allowfullscreen><\/iframe>\n<\/div>\n<p>According to Damian, Scott Hanselman is out this week on vacation but Mads Kristensen joined us for the standup to discuss some of the cool things coming in the ASP.NET and Web tooling in Visual Studio.<\/p>\n<p>The nightly builds for ASP.NET Core and tooling are available online, and you can use <a href=\"https:\/\/github.com\/aspnet\/home\/#getting-aspnet-core\">the directions<\/a> to update your version of ASP.NET Core frameworks and <a href=\"https:\/\/github.com\/aspnet\/tooling\/#pre-release-builds\">the preview tooling<\/a> to the latest &#8216;nightly&#8217; build.\u00a0 These are builds that came from the ASP.NET CI server that have passed initial tests and are published for additional community testing.<\/p>\n<h3>Accomplishments for ASP.NET Team<\/h3>\n<p>Microsoft summer interns have started work on the ASP.NET Core runtime team.\u00a0 One is working on a new piece of middleware to give Url rewriting capabilities.\u00a0 Think of it as UrlRewrite from IIS or mod_rewrite from Apache, but not fully featured in the first release.\u00a0 The other intern is working on the MVC team and working with TagHelpers.\u00a0 Her first assignment is to take all ViewComponents in a project and write a TagHelperProvider to make those components available as TagHelpers.\u00a0 Several folks have built something similar, and this effort is to deliver an official feature with the framework.<\/p>\n<p>The ASP.NET team is doing validation to prepare for the release and writing documentation in preparation for the release next week.\u00a0 Additionally, Damian and the other team leaders are doing planning for ASP.NET features to consider over the next 6 months.\u00a0 The goal for this group is to deliver a high-level roadmap in two weeks.<\/p>\n<h3>Community Links<\/h3>\n<p>Q+A is available on Gitter at <a href=\"http:\/\/gitter.im\/aspnet\/home\" target=\"_blank\" rel=\"noopener noreferrer\">gitter.im\/aspnet\/home<\/a><\/p>\n<p>Damien Bowden is updating his article on <a href=\"https:\/\/damienbod.com\/2015\/09\/30\/asp-net-5-exception-filters-and-resource-filters\/\" target=\"_blank\" rel=\"noopener noreferrer\">Exception Filters and Resource filters for ASP.NET RC2<\/a><\/p>\n<p>On Channel 9, Shahed Chowdry shared a video about <a href=\"https:\/\/channel9.msdn.com\/Blogs\/DevRadio\/DR1666\" target=\"_blank\" rel=\"noopener noreferrer\">deploying a web app using ASP.NET Core<\/a><\/p>\n<p>Shahed also published a video about <a href=\"https:\/\/channel9.msdn.com\/Blogs\/DevRadio\/DR1659\" target=\"_blank\" rel=\"noopener noreferrer\">developing on a Mac for C# developers<\/a><\/p>\n<p>Fiyaz wrote about <a href=\"http:\/\/www.fiyazhasan.me\/configuring-typescript-for-asp-net-core-apps\/\" target=\"_blank\" rel=\"noopener noreferrer\">configuring TypeScript for ASP.NET Core Apps<\/a> &#8211; showing how to use npm + Gulp to configure projects.<\/p>\n<p>Laurent shared some details around <a href=\"http:\/\/laurentkempe.com\/2016\/06\/20\/Free-HTTPS-certificates-for-Docker-containers-running-ASPNET-Core-RC2-on-Microsoft-Azure\/\" target=\"_blank\" rel=\"noopener noreferrer\">free HTTPS certificates for Docker containers<\/a><\/p>\n<p>Nitij wrote about <a href=\"http:\/\/www.codeproject.com\/Articles\/1106838\/Dependency-Injection-Scenarios-in-Asp-Net-Mvc\" target=\"_blank\" rel=\"noopener noreferrer\">Dependency Injection scenarios for ASP.NET MVC<\/a><\/p>\n<p>Jalpesh shared some tips about <a href=\"http:\/\/www.dotnetjalps.com\/2016\/06\/create-rest-webapi-aspnet-core.html\" target=\"_blank\" rel=\"noopener noreferrer\">how to create a Rest API with ASP.NET Core<\/a><\/p>\n<p>Mehar covered for Jeff last week while he was at some conferences and <a href=\"http:\/\/www.maherjendoubi.io\/my-personal-notes-from-the-asp-net-community-standup-june-14-2016\/\" target=\"_blank\" rel=\"noopener noreferrer\">wrote last week&#8217;s notes<\/a>.\u00a0 (THANKS MAHER!)<\/p>\n<p>Filip wrote about <a href=\"http:\/\/www.strathweb.com\/2016\/06\/implementing-custom-load-behavior-in-roslyn-scripting\/\" target=\"_blank\" rel=\"noopener noreferrer\">implementing custom #Load behavior in Roslyn scripting<\/a><\/p>\n<p>Dave Glick <a href=\"http:\/\/daveaglick.com\/posts\/announcing-scripty\" target=\"_blank\" rel=\"noopener noreferrer\">announced Scripty<\/a>, a project to provide an alternative to T4 templating<\/p>\n<h3>Updates from Mads<\/h3>\n<p>There are some updates to the Visual Studio templates for ASP.NET Core and the Yeoman Generators are being updated as well.\u00a0 The primary change is to remove gulp and npm from the base template when you create a new project.\u00a0 The tooling is there, you can still add these tools and manage their resources if you would like.<\/p>\n<p>Gulp was primarily used to bundle and minify static content.\u00a0 Without gulp in the project template, it has been replaced with usage of the <a href=\"https:\/\/visualstudiogallery.msdn.microsoft.com\/9ec27da7-e24b-4d56-8064-fd7e88ac1c40\">Bundler &amp; Minifier extension<\/a> to do this work.\u00a0 Damian asked Mads why this change was made, and Mads shared that: \n*   Publishing a website takes a long time because npm restore takes a long time\n*   As we introduce ASP.NET Core, adding these tools like gulp, npm, and bower were adding to the concept count for new developers\n*   Some developers were upset about mixing node and ASP.NET resources\n*   Not everyone believes that npm and gulp were the proper tools to solve the minifying problem<\/p>\n<p>Damian went on to describe that the original decision to bundle grunt, then gulp with ASP.NET Core was driven a bit by where\u00a0 the web community was managing their packages and how they recommended working with their libraries.\u00a0 Sometimes the team needs to take a step back from changes to re-evaluate and move forward with a best solution.\u00a0 Some folks really like grunt, others like gulp, and still others prefer to write straight npm scripts.\u00a0 Mads recommended that folks who want to run npm scripts directly check out the <a href=\"https:\/\/visualstudiogallery.msdn.microsoft.com\/8f2f2cbc-4da5-43ba-9de2-c9d08ade4941\">npm task runner extension<\/a><\/p>\n<p>Mads then went on to show us how gulp currently bundles (combines JavaScript or CSS files to deliver a single) and minifies (compresses the files) in the ASP.NET RC2 project.\u00a0 In the new project template, you will be prompted to install the Bundler &amp; Minifier extension if its not already installed.\u00a0 Mads showed us how this extension can be used to perform the same bundling and minifying tasks in Visual Studio and then in Visual Studio Code.\u00a0 More details about how this <a href=\"https:\/\/github.com\/madskristensen\/BundlerMinifier\">extension is configured and works are available on its home page<\/a>.\u00a0 If you have questions about this extension, jump into the <a href=\"https:\/\/github.com\/madskristensen\/BundlerMinifier\/issues\">discussion on its GitHub repository<\/a>.<\/p>\n<p>Mads went on to further discuss some future ideas around using the same minifier engine at runtime with a TagHelper to provide a tag that contains the target of the output of the same minifier used at build time.<\/p>\n<h3>Questions<\/h3>\n<p><strong>Question:<\/strong> What&#8217;s the difference between contentRoot and webRoot? This is an ASP.NET Core concept.\u00a0 WebRoot is where you put files that will be served static files that will be served by your web server (JS, CSS, Images).\u00a0 ContentRoot is the folder where files that aren&#8217;t served by your webserver but are to be included in your project.<\/p>\n<p><strong>Question:<\/strong> If I have a project named Project1, I&#8217;d like the result assembly to be named &#8220;Company.Project1&#8221;.\u00a0 How can I do this? There is a configuration option in buildOptions setting in project.json called outputName that you can use to set this<\/p>\n<p><strong>Question:<\/strong> Will project.json or csproj replace assemblyinfo.cs? It won&#8217;t replace it, but work in conjunction with it just like it does today<\/p>\n<p><strong>Question:<\/strong> Is hosting.json useful for anything other than setting webroot? No, its no longer used directly by the framework to configure.\u00a0 You COULD add the feature back in to the WebHostBuilder configuration by specifying it explicitly.<\/p>\n<p><strong>Question:<\/strong> Will EF7 support complex queries like Group By on the database side at RTM? Unknown, the EF team would know more<\/p>\n<p><strong>Question:<\/strong> The output path for bin and obj for the MusicStore sample is set to the artifacts folder.\u00a0 The src directory looks cleaner without the bin and obj directories, are there any downsides to this configuration? This was a dnx configuration, and has been changed back with dotnet CLI.\u00a0 Damian doesn&#8217;t know if this is a problem with Visual Studio now.<\/p>\n<p><strong>Question:<\/strong> Can we add zopfli compression to the bundle and minifier? The bundle and minifier extension supports a set of configuration for each bundle but does not yet support zopfli.\u00a0 Damian went on to disclose that there is middleware planned to support serving contents of gzip compressed files after RTM.<\/p>\n<p><strong>Question:<\/strong> Will extensions run natively in future versions of Visual Studio? Yes and no\u2026 some features are integrated into Visual Studio, others are not.<\/p>\n<p><strong>Question:<\/strong> Can you still rename wwwroot? Yes, it\u2019s a property on the hosting options that are configured on the WebHostBuilder.\u00a0 Use the &#8220;UseWebRoot&#8221; method to set the name of the folder you would like to use.<\/p>\n<p><strong>Question:<\/strong> Would it be possible to detect change in files marked as embedded and rebuild project automatically when you RUN? It should do this currently, and if it is not, that is a bug.\u00a0 Mads reported that this is fixed in the tooling release coming next week.<\/p>\n<p><strong>Question:<\/strong> Any plans to improve VS html\/razor tooling for webcomponents\/polymer? Yes.. We are improving it, there are some items in WebEssentials and they rely on the JavaScript engine bundled with Visual Studio.\u00a0 No timeline on these updates<\/p>\n<p><strong>Question:<\/strong> Does the ASP.NET team have an opinion of Aurelia? No, the team has no opinion about client-side code.\u00a0 Damian recommends that you use what makes you happy and they will not block you from using the client-side tools you like.\u00a0 Mads chimed in that WebEssentials does have Aurelia support planned.\u00a0 Similarly, customers were clamoring for a React JSX editor and that code was thrown away in the new VS15 because there&#8217;s a new JavaScript editor.<\/p>\n<p><strong>Question:<\/strong> Are MVC Core 1.0 RC2 Views debuggable? C# debugging should be fixed for the release next week.<\/p>\n<p><strong>Question:<\/strong> Any plans to support inline HTML templates in angular 2 typescript files (intellisense, coloring) in VS2015? It is available as of VS2015 Update 2<\/p>\n<p><strong>Question:<\/strong> Are you guys still planning on having a FAQ\/KB site that was mentioned a few standups back? (Jeff answering this one\u2026)\u00a0 Yes!\u00a0 I have written an initial implementation of this and it is sitting as a pull request for the live.asp.net site.\u00a0 We need to update the content, as I wrote it a bit ago, but we should be able to publish this soon.<\/p>\n<p><strong>Question:<\/strong> Any improvements for resx files in the next vs version? No\u2026 not at this time<\/p>\n<p><strong>Question:<\/strong> Any thought about SPIN+TURN middleware for webRTC+objectRTC? No idea\u2026 the team is going to start back on SignalR next week.\u00a0 Damian will spend some time reviewing this for SIgnalR in the future.<\/p>\n<p><strong>Question:<\/strong> Can we enable some of those extra tooling features in .NET Core library projects, like file nesting? It is on the list for the new csproj system in VS15 with a configuration and convention that can be used<\/p>\n<p><strong>Question:<\/strong> Is it possible to use DataProtection with an encryption key I generated outside of .net? No idea\u2026 you can use the .NET Crypto APIs yourself and test this. <a href=\"http:\/\/twitter.com\/blowdart\">Barry Dorrans<\/a> can help you with this question more than Damian.<\/p>\n<p><strong>Question:<\/strong> Any possibility of deeper nesting (beyond area\/controller\/action, mayby with extra attribute) without using routing? We believe you can do this right now with the new AppModel object.\u00a0 You can also use the ApplicationPaths object to be able to take parts of your MVC application and rebundle this as a NuGet package.\u00a0 There is not currently a good way to share Views across MVC applications.<\/p>\n<h3>Summary<\/h3>\n<p>This was the penultimate ASP.NET Community Standup.\u00a0 When next we meet, the RTM will be available!\u00a0 Check back on our blog, this blog, on Monday for information about the release.\u00a0 The team will be back together on Tuesday to talk about it and whats on the road ahead.<\/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-36844","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\/36844","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=36844"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/36844\/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=36844"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=36844"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=36844"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}