{"id":5593,"date":"2016-04-05T16:00:29","date_gmt":"2016-04-05T16:00:29","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/dotnet\/?p=5593"},"modified":"2021-09-30T12:03:49","modified_gmt":"2021-09-30T19:03:49","slug":"the-week-in-net-452016","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/the-week-in-net-452016\/","title":{"rendered":"The week in .NET &#8211; 4\/5\/2016"},"content":{"rendered":"<p>To read last week&#8217;s post, see <a href=\"https:\/\/blogs.msdn.microsoft.com\/dotnet\/2016\/03\/29\/the-week-in-net-3292016\/\">The week in .NET \u2013 3\/29\/2016<\/a>.<\/p>\n<h2>On.NET<\/h2>\n<p>Last week was a thrilling one for the .NET community, with lots of exciting announcements made at <a href=\"https:\/\/channel9.msdn.com\/Events\/Build\/2016\">the Build conference<\/a>. We decided to move the show to avoid being in direct competition with Build&#8217;s live stream. On Monday, <a href=\"https:\/\/www.youtube.com\/watch?v=OjNbBOjcLRk\">we recorded a show with John Kemnetz on the new experimental support for C# debugging in VS Code<\/a>. We tried something a little different this time: instead of our usual one hour discussion, we did a short 20 minute live screencast. Let us know what you think in the comments. This week, <a href=\"https:\/\/www.youtube.com\/watch?v=hd6BQPfBzz0\">Beth Massi and Maria Naggaga are taking over the show<\/a>.<\/p>\n<h2>Package of the week: Autofac<\/h2>\n<p>With dependency injection baked right into ASP.NET Core, it&#8217;s more important than ever to master this technique that can reduce coupling in your applications. ASP.NET provides a minimal container, but is also open for optional replacement containers. <a href=\"https:\/\/github.com\/autofac\/Autofac\">Autofac<\/a> is a popular <a href=\"https:\/\/en.wikipedia.org\/wiki\/Inversion_of_control\">IoC<\/a> container that is <a href=\"http:\/\/autofac.readthedocs.org\/en\/latest\/integration\/aspnetcore.html\">now compatible with .NET Core<\/a>.<\/p>\n<p>The following code shows how you&#8217;d register an implementation of an <code>IOutput<\/code> interface from the initialization phase of your application, so that it can later be resolved from other components.<\/p>\n<p><script src=\"https:\/\/gist.github.com\/bleroy\/a565eba676c1c5a69ae443297d837c3a.js\"><\/script><\/p>\n<p>You can then inject an <code>IOutput<\/code> into your controllers and services:<\/p>\n<p><script src=\"https:\/\/gist.github.com\/bleroy\/c13048502b1ad8016509c50b565e782b.js\"><\/script><\/p>\n<p>You can then inject an <code>IOutput<\/code> into your controllers and services:<\/p>\n<p>This is a simple use case for Autofac, but check-out <a href=\"http:\/\/autofac.readthedocs.org\/en\/latest\/index.html\">the documentation<\/a> for more elaborate examples. We also have quite a few dependency injection articles this week; check-out the ASP.NET section.<\/p>\n<p>Interestingly, Autofac is the IoC container used in the <a href=\"\/\/orchardproject.net\/\">Orchard CMS<\/a>.<\/p>\n<h2>Wellington, New Zealand Code Camp<\/h2>\n<p>On Saturday April 9th 2016 come and join with some of New Zealand&#8217;s top technical speakers for <a href=\"http:\/\/www.nichesoftware.co.nz\/codecamp.html\">a free one day conference<\/a>.<\/p>\n<h2>.NET<\/h2>\n<ul>\n<li><a href=\"https:\/\/blog.xamarin.com\/xamarin-for-all\/\">Xamarin for Everyone<\/a> by Nat Friedman.<\/li>\n<li><a href=\"https:\/\/blogs.msdn.microsoft.com\/dotnet\/2016\/03\/30\/announcing-the-net-framework-4-6-2-preview\/\">Announcing the .NET Framework 4.6.2 Preview<\/a> by Stacey Haffner.<\/li>\n<li><a href=\"https:\/\/blogs.msdn.microsoft.com\/dotnet\/2016\/04\/01\/net-at-build-2016-open-cross-platform-and-free\/\">.NET at Build 2016 \u2013 Open, Cross-platform and FREE<\/a> by Rich Lander.<\/li>\n<li><a href=\"https:\/\/blogs.msdn.microsoft.com\/dotnet\/2016\/04\/02\/whats-new-for-c-and-vb-in-visual-studio\/\">What\u2019s New for C# and VB in Visual Studio<\/a> by Kasey Uhlenhuth.<\/li>\n<li><a href=\"https:\/\/blogs.msdn.microsoft.com\/visualstudio\/2016\/03\/31\/mobile-app-development-made-easy-with-visual-studio-and-xamarin\/\">Mobile App Development made easy with Visual Studio and Xamarin<\/a> by John Montgomery.<\/li>\n<li><a href=\"http:\/\/www.mono-project.com\/news\/2016\/03\/31\/mono-relicensed-mit\/\">Mono Relicensed MIT<\/a> by Miguel de Icaza.<\/li>\n<li><a href=\"https:\/\/channel9.msdn.com\/events\/Build\/2016\/B891\">.NET Overview (Build session Video)<\/a> by Scott Hanselman and Scott Hunter.<\/li>\n<li><a href=\"https:\/\/blogs.msdn.microsoft.com\/visualstudio\/2016\/04\/01\/visual-studio-2015-take-on-dependencies-stay-productive\/\">A Vision For Visual Studio 2015: Take on Dependencies; stay Productive<\/a> by Michael C. Fanning and Joe Morris.<\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/faster-leaner-visual-studio-installer\/\">Faster, Leaner, Focused on Your Development Needs: The New Visual Studio Installer<\/a> by Tim Sneath.<\/li>\n<li><a href=\"http:\/\/www.ryansouthgate.com\/2016\/03\/23\/iconfiguration-in-netcore\/\">IConfiguration in .NetCore<\/a> by Ryan Southgate.<\/li>\n<li><a href=\"http:\/\/community.sharpdevelop.net\/blogs\/christophwille\/archive\/2016\/04\/01\/refactoring-essentials-4-0-comes-with-roslyn-code-converter.aspx\">Refactoring Essentials 4.0 Comes With Roslyn Code Converter<\/a> by Christoph Wille.<\/li>\n<li><a href=\"http:\/\/www.codeproject.com\/Articles\/1087568\/Visualization-and-Comparison-of-sorting-algorith\">Visualization and comparison of sorting algorithms in C#<\/a> by Mark Monnin.<\/li>\n<li><a href=\"http:\/\/jonhilton.net\/2016\/03\/29\/coupling-tests-production\/\">Reduce Coupling: free your code and your tests<\/a> by Jon Hilton.<\/li>\n<\/ul>\n<h2>ASP.NET<\/h2>\n<ul>\n<li><a href=\"https:\/\/blogs.msdn.microsoft.com\/webdev\/2016\/03\/28\/dependency-injection-in-asp-net-core\/\">Dependency Injection in ASP.NET Core<\/a> by Jeffrey T. Fritz.<\/li>\n<li><a href=\"http:\/\/www.exceptionnotfound.net\/setting-up-dependency-injection-in-web-api-with-structuremap\/\">Setting Up Dependency Injection in Web API with StructureMap<\/a> by Matthew Jones.<\/li>\n<li><a href=\"http:\/\/www.strathweb.com\/2016\/03\/the-subtle-perils-of-controller-dependency-injection-in-asp-net-core-mvc\/\">The Subtle Perils of Controller Dependency Injection in ASP.NET Core MVC<\/a> by Filip W.<\/li>\n<li><a href=\"http:\/\/wildermuth.com\/2016\/03\/28\/Docker_and_ASP_NET_Core_A_Webcast\">Docker and ASP.NET Core (video)<\/a> by Shawn Wildermuth.<\/li>\n<li><a href=\"http:\/\/www.elanderson.net\/2016\/03\/asp-net-core-password-options-and-custom-validators\/\">ASP.NET Core Password Options and Custom Validators<\/a> by Eric L. Anderson.<\/li>\n<li><a href=\"http:\/\/aspnetmonsters.com\/2016\/03\/monsters-weekly%5Cep19\/\">Building Advanced Tag Helpers (video)<\/a> by the ASP.NET Monsters.<\/li>\n<\/ul>\n<h2>F#<\/h2>\n<ul>\n<li>Try F# on .NET Core!\n<ul>\n<li>Watch <a href=\"https:\/\/channel9.msdn.com\/Events\/Build\/2016\/T661\">Getting Started with F# on .NET Core<\/a>, by David Stephens.<\/li>\n<li>Read <a href=\"https:\/\/github.com\/enricosada\/fsharp-dotnet-cli-samples\/wiki\/Getting-Started\">this Getting Started guide on Github<\/a> for more details.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"http:\/\/www.infoq.com\/presentations\/data-structure-lists\">Beyond Lists<\/a>, by Phil Trelford.<\/li>\n<li><a href=\"https:\/\/vimeo.com\/161131920\">Functional Architecture<\/a>, by Mark Seemann.<\/li>\n<li><a href=\"http:\/\/www.infoq.com\/presentations\/jet-microservices-testing\">Microservices Chaos Testing at Jet<\/a>, by Rachel Reese.<\/li>\n<\/ul>\n<p>Check out <a href=\"https:\/\/sergeytihon.wordpress.com\/category\/f-weekly\/\">F# Weekly<\/a> for more great content from the F# community.<\/p>\n<h2>Games<\/h2>\n<ul>\n<li><a href=\"http:\/\/blogs.unity3d.com\/2016\/04\/01\/unity-joins-the-net-foundation\/\">Unity Joins the .NET Foundation<\/a> &#8211; by Jonathan Chambers.<\/li>\n<li><a href=\"https:\/\/channel9.msdn.com\/Shows\/Visual-Studio-Toolbox\/Visual-Studio-Tools-for-Unity\">Visual Studio Tools for Unity (Video)<\/a> &#8211; Jb Evain and Robert Green.<\/li>\n<\/ul>\n<p>And this is it for this week!<\/p>\n<h2>Contribute to the week in .NET<\/h2>\n<p>As always, this weekly post couldn&#8217;t exist without community contributions, and I&#8217;d like to thank all those who sent links and tips. You can participate too. Did you write a great blog post, or just read one? Do you want everyone to know about an amazing new contribution or a useful library? Did you make or play a great game built on .NET? We&#8217;d love to hear from you, and feature your contributions on future posts:<\/p>\n<ul>\n<li>Send an email to beleroy at Microsoft,<\/li>\n<li><a href=\"https:\/\/gist.github.com\/bleroy\/2bf457a27518b4c6e7b2e9e8bc2fc8c3\">comment on this gist<\/a><\/li>\n<li>Leave us a pointer in the comments section below.<\/li>\n<li><a href=\"https:\/\/twitter.com\/yecats131\">Send Stacey (@yecats131) tips on Twitter about .NET games<\/a>.<\/li>\n<\/ul>\n<p>This week&#8217;s post (and future posts) also contains news I first read on <a href=\"http:\/\/www.asp.net\/\">ASP.NET&#8217;s community spotlight<\/a>, on <a href=\"https:\/\/sergeytihon.wordpress.com\/category\/f-weekly\/\">F# weekly<\/a>, on <a href=\"http:\/\/www.aspnetweekly.com\/\">ASP.NET Weekly<\/a>, and on <a href=\"http:\/\/themorningbrew.net\/\">Chris Alcock&#8217;s The Morning Brew<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To read last week&#8217;s post, see The week in .NET \u2013 3\/29\/2016. On.NET Last week was a thrilling one for the .NET community, with lots of exciting announcements made at the Build conference. We decided to move the show to avoid being in direct competition with Build&#8217;s live stream. On Monday, we recorded a show [&hellip;]<\/p>\n","protected":false},"author":347,"featured_media":58792,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[685],"tags":[51,153],"class_list":["post-5593","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","tag-community","tag-week-in-net"],"acf":[],"blog_post_summary":"<p>To read last week&#8217;s post, see The week in .NET \u2013 3\/29\/2016. On.NET Last week was a thrilling one for the .NET community, with lots of exciting announcements made at the Build conference. We decided to move the show to avoid being in direct competition with Build&#8217;s live stream. On Monday, we recorded a show [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/5593","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\/347"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=5593"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/5593\/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=5593"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=5593"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=5593"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}