{"id":13705,"date":"2017-07-18T07:00:10","date_gmt":"2017-07-18T14:00:10","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/dotnet\/?p=13705"},"modified":"2021-09-29T16:44:51","modified_gmt":"2021-09-29T23:44:51","slug":"the-week-in-net-command-line-parser-library-net-south-east","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/the-week-in-net-command-line-parser-library-net-south-east\/","title":{"rendered":"The week in .NET &#8211; Command Line Parser Library, .NET South East"},"content":{"rendered":"<p>Previous posts:<\/p>\n<ul>\n<li><a href=\"https:\/\/blogs.msdn.microsoft.com\/dotnet\/2017\/07\/11\/the-week-in-net-links-2\/\">Links!<\/a><\/li>\n<li><a href=\"https:\/\/blogs.msdn.microsoft.com\/dotnet\/2017\/07\/04\/the-week-in-net-links\/\">Links!<\/a><\/li>\n<li><a href=\"https:\/\/blogs.msdn.microsoft.com\/dotnet\/2017\/06\/27\/the-week-in-net-net-conf-material-design-in-xaml-toolkit\/\">.NET Conf, Material Design in XAML Toolkit<\/a><\/li>\n<\/ul>\n<h2>Package of the week: Command Line Parser Library<\/h2>\n<p>Command-line applications typically accept arguments and options, and expose a <code>--help<\/code> page describing them. Parsing those arguments and options is a repetitive task that .NET provides little help for out of the box, beyond the <code>string[] args<\/code> argument to <code>main<\/code>. <a href=\"https:\/\/github.com\/gsscoder\">Giacomo Stelluti Scala<\/a>&#8216;s <a href=\"https:\/\/github.com\/gsscoder\/commandline\">Command Line Parser Library<\/a> offers CLR applications a clean and concise API for manipulating command line arguments and related tasks, such as defining switches, options and verb commands. It allows you to display a help screen with a high degree of customization and a simple way to report syntax errors to the end user. Everything that is boring and repetitive about parsing command line arguments is delegated to the library, letting developers concentrate on core logic. It&#8217;s written in C# and doesn&#8217;t depend on other packages. It&#8217;s also friendly to F# and VB developers.<\/p>\n<p>First, define the options the application expects:<\/p>\n<pre><code class=\"language-csharp\">class Options {\n  [Option('r', &quot;read&quot;, Required = true,\n    HelpText = &quot;Input files to be processed.&quot;)]\n  public IEnumerable&lt;string&gt; InputFiles { get; set; }\n\n  \/\/ Omitting long name, default --verbose\n  [Option(\n    HelpText = &quot;Prints all messages to standard output.&quot;)]\n  public bool Verbose { get; set; }\n\n  [Option(Default = &quot;\u4e2d\u6587&quot;,\n    HelpText = &quot;Content language.&quot;)]\n  public string Language { get; set; }\n\n  [Value(0, MetaName = &quot;offset&quot;,\n    HelpText = &quot;File offset.&quot;)]\n  public long? Offset { get; set; }\n}\n<\/code><\/pre>\n<p>Then consume them:<\/p>\n<pre><code class=\"language-csharp\">static int Main(string[] args) {\n  var options = new Options();\n  var isValid = CommandLine.Parser.Default.ParseArgumentsStrict(args, options);\n<\/code><\/pre>\n<ul>\n<li><a href=\"https:\/\/github.com\/gsscoder\/commandline\">Command Line Parser Library on GitHub<\/a><\/li>\n<li><a href=\"https:\/\/www.nuget.org\/packages\/CommandLineParser\/\">Command Line Parser Library on Nuget<\/a><\/li>\n<\/ul>\n<h2>User group of the week: .NET South East (Brighton, UK)<\/h2>\n<p>User groups are an essential part of the .NET Community, and none of them has existed forever. The creation of a new user group is an occasion for celebration. Steve Gordon, a regular of this column, did just that, and created the .NET South East user group in Brighton in the United Kingdom. I really like that Steve didn&#8217;t stop there, and went on explaining why and how he created the group in <a href=\"https:\/\/www.stevejgordon.co.uk\/announcing-dotnet-south-east-user-group\">a great blog post<\/a>. Hopefully, this can inspire others in the .NET community to create their own group: if there&#8217;s no user group in your area, but you know the users are there, just go ahead and fill that void!<\/p>\n<ul>\n<li><a href=\"https:\/\/www.stevejgordon.co.uk\/announcing-dotnet-south-east-user-group\">Announcing .NET South East,a new Brighton based .NET User Group<\/a>, by Steve Gordon.<\/li>\n<\/ul>\n<h2>.NET<\/h2>\n<ul>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/net-framework-july-2017-security-and-quality-rollup\/\">.NET Framework July 2017 Security and Quality Rollup<\/a> by Rich Lander.<\/li>\n<li><a href=\"https:\/\/blogs.msdn.microsoft.com\/visualstudio\/2017\/07\/11\/samsung-releases-4th-preview-of-visual-studio-tools-for-tizen-including-support-for-net-core-2-0-preview\/\">Samsung Releases 4th Preview of Visual Studio Tools for Tizen including support for .NET Core 2.0 Preview<\/a> by Scott Hunter.<\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=IXg58zMsPug\">.NET Core Design Reviews: System.IO.Pipelines<\/a> by Immo Landwerth.<\/li>\n<li><a href=\"https:\/\/www.stevejgordon.co.uk\/docker-for-net-developers-part-7\">Docker for .NET Developers (Part 7) &#8211; Setting up Amazon EC2 Container Registry<\/a> by Steve Gordon.<\/li>\n<li><a href=\"https:\/\/jeremylindsayni.wordpress.com\/2017\/07\/17\/calling-a-custom-executable-from-cake-using-startprocess-and-processsettings\/\">Calling a custom executable from Cake using StartProcess and ProcessSettings<\/a> by Jeremy Lindsay.<\/li>\n<li><a href=\"https:\/\/joffreykern.github.io\/blog\/how-to-build-dotnet-core-project-with-vs-code\">How to build a .NET Core Project with VS Code ?<\/a> by Joffrey Kern.<\/li>\n<li><a href=\"https:\/\/nblumhardt.com\/2017\/07\/library-logging\/\">Good citizenship &#8211; logging from .NET libraries<\/a> by Nicholas Blumhardt.<\/li>\n<li><a href=\"https:\/\/carlos.mendible.com\/2017\/07\/18\/dotnet-new-templates-for-aws-lambda-and-raspberry-pi\/\">Dotnet new templates for AWS Lambda and Raspberry Pi<\/a> by Carlos Mendible.<\/li>\n<li><a href=\"https:\/\/codingblast.com\/update-nuget-package-dotnet-cli\/\">dotnet CLI \u2013 how to update a NuGet package and add a new NuGet package<\/a> by Ibrahim \u0160uta.<\/li>\n<li><a href=\"https:\/\/blogs.unity3d.com\/2017\/07\/11\/introducing-unity-2017\/\">Introducing Unity 2017<\/a> by Alex Lian.<\/li>\n<li><a href=\"https:\/\/channel9.msdn.com\/Shows\/Code-Conversations\/Introduction-to-MSBuild-in-NET-Core-with-Nate-McMaster\">Introduction to MSBuild in .NET Core<\/a> by Nate McMaster.<\/li>\n<li><a href=\"http:\/\/damianblog.com\/2017\/06\/05\/live-coding-an-alexa-smart-home-skill-from-scratch-in-csharp\/\">Live coding an Alexa Smart Home skill from scratch in C#<\/a> by Damian Mehers.<\/li>\n<li><a href=\"http:\/\/msprogrammer.serviciipeweb.ro\/2017\/07\/10\/making-any-call-to-a-function-of-an-object-thread-safe\/\">Making any call to a function of an object thread safe<\/a> by Andrei Ignat.<\/li>\n<li><a href=\"http:\/\/reynders.co\/use-this-helper-cli-for-switching-net-core-sdk-versions\/\">Use this helper CLI for switching .NET Core SDK versions<\/a> by Fanie Reynders.<\/li>\n<li><a href=\"https:\/\/adamhathcock.blog\/2017\/07\/12\/net-core-on-circle-ci-2-0-using-docker-and-cake\/\">.NET Core on Circle CI 2.0 using Docker and Cake<\/a> by Adam Hathcock.<\/li>\n<\/ul>\n<h2>ASP.NET<\/h2>\n<ul>\n<li><a href=\"http:\/\/josephwoodward.co.uk\/2017\/07\/injecting-javascript-into-views-using-itaghelpercomponent\">Injecting content into your head or body tags via dependency injection using ITagHelperComponent<\/a> by Joseph Woodward.<\/li>\n<li><a href=\"http:\/\/lightswitchhelpwebsite.com\/Blog\/tabid\/61\/EntryId\/4309\/An-Angular-4-Net-Core-Application-Updater.aspx\">An Angular 4 .Net Core Application Updater<\/a> by Michael Washington.<\/li>\n<li><a href=\"https:\/\/andrewlock.net\/creating-custom-password-validators-for-asp-net-core-identity-2\/\">Creating custom password validators for ASP.NET Core Identity<\/a> by Andrew Lock.<\/li>\n<li><a href=\"https:\/\/ardalis.com\/minimal-aspnet-core-web-api\">Minimal ASPNET Core Web API<\/a> by Steve Smith.<\/li>\n<li><a href=\"http:\/\/developer.telerik.com\/topics\/net\/building-reusable-ui-components-in-asp-net-core\/\">Building Reusable UI Components in ASP.NET Core<\/a> by Scott Addie.<\/li>\n<li><a href=\"http:\/\/hudosvibe.net\/post\/mock-user-identity-in-asp.net-mvc-core-controller-tests\">Set User identity and IsAuthenticated in ASP.NET MVC Core controller tests<\/a> by Hrvoje Hudoletnjak.<\/li>\n<li><a href=\"http:\/\/cecilphillip.com\/setting-up-webpack-in-asp-net-web-forms\/\">Setting up Webpack in ASP.NET Web Forms<\/a> by Cecil Phillip.<\/li>\n<li><a href=\"http:\/\/codeclimber.net.nz\/archive\/2017\/07\/14\/how-to-get-the-correct-requesturl-when-behind-a-load-balancer\/\">How to get the correct Request.Url when behind a load balancer<\/a> by Simone Chiaretta.<\/li>\n<li><a href=\"https:\/\/blogs.msdn.microsoft.com\/webdev\/2017\/07\/13\/development-time-iis-support-for-asp-net-core-applications\/\">Development time IIS support for ASP.NET Core Applications<\/a> by Sourabh Shirhatti.<\/li>\n<li><a href=\"https:\/\/damienbod.com\/2017\/07\/11\/adding-an-external-microsoft-login-to-identityserver4\/\">Adding an external Microsoft login to IdentityServer4<\/a> by Damien Bowden.<\/li>\n<li><a href=\"https:\/\/damienbod.com\/2017\/07\/14\/implementing-two-factor-authentication-with-identityserver4-and-twilio\/\">Implementing Two-factor authentication with IdentityServer4 and Twilio<\/a> by Damien Bowden.<\/li>\n<li><a href=\"https:\/\/codingblast.com\/asp-net-core-mvc-form-tag-helpers\/\">ASP.NET Core MVC \u2013 Form Tag Helpers<\/a> by Ibrahim \u0160uta.<\/li>\n<li><a href=\"https:\/\/www.meziantou.net\/2017\/07\/17\/use-brotli-compression-with-asp-net-core\">Use brotli compression with ASP.NET Core<\/a> by G\u00e9rald Barr\u00e9.<\/li>\n<li><a href=\"https:\/\/www.red-gate.com\/simple-talk\/dotnet\/asp-net\/anti-forgery-validation-asp-net-core\/\">Anti-Forgery Validation in ASP.NET Core<\/a> by Dino Esposito.<\/li>\n<li><a href=\"https:\/\/www.devtrends.co.uk\/blog\/a-guide-to-caching-in-asp.net-core\">A guide to caching in ASP.NET Core<\/a> by Paul Hiles.<\/li>\n<li><a href=\"https:\/\/www.exceptionnotfound.net\/asp-net-core-demystified-model-binding-in-mvc\/\">ASP.NET Core Demystified &#8211; Model Binding in MVC<\/a> by Matthew Jones.<\/li>\n<li><a href=\"https:\/\/www.codeproject.com\/Articles\/1194445\/Test-Automation-Using-Atata-Confirmation-Popups\">Test Automation Using Atata: Handle Confirmation Popups<\/a> by Yevgeniy Shunevych.<\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2017\/07\/Blazor\">Blazor Brings .NET Back to the Browser<\/a> by InfoQ.<\/li>\n<\/ul>\n<h2>C#<\/h2>\n<ul>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/oldnewthing\/\">Revisions to previous discussion of the implementation of anonymous methods in C#<\/a> by Raymond Chen.<\/li>\n<li><a href=\"https:\/\/colinmackay.scot\/2017\/07\/16\/join-null-check-with-assignment\/\">Join Null Check with Assignment<\/a> by Colin Angus Mackay.<\/li>\n<li><a href=\"https:\/\/l-paathshaala.com\/2017\/07\/10\/pattern-matching-in-c\/\">Pattern Matching In C#<\/a> by Sandeep Shekhawat.<\/li>\n<li><a href=\"https:\/\/l-paathshaala.com\/2017\/07\/17\/ref-ref-return-and-ref-local-in-c\/\">Ref, Ref Return and Ref Local In C#<\/a> by Sandeep Shekhawat.<\/li>\n<li><a href=\"http:\/\/adamsitnik.com\/Span\/\">Using Span<\/a> by Adam Sitnik.<\/li>\n<li><a href=\"http:\/\/blog.monstuff.com\/archives\/2017\/07\/using-Csharp-7.1.html\">Using C# 7.1<\/a> by Julien Couvreur.<\/li>\n<li><a href=\"http:\/\/motzcod.es\/post\/162870742532\/c-sharp-developers-stop-calling-dot-result\">C# Developers: Stop Calling .Result<\/a> by James Montemagno.<\/li>\n<li><a href=\"http:\/\/www.andreaangella.com\/2017\/07\/async-main\/\">Practical C# \u2013 Async Main in C# 7.1<\/a> by Andrea Angella.<\/li>\n<li><a href=\"http:\/\/www.andreaangella.com\/2017\/07\/master-csharp7\/\">All you need to know to master C# 7<\/a> by Andrea Angella.<\/li>\n<li><a href=\"http:\/\/www.andreaangella.com\/2017\/07\/practical-csharp-generalized-async-return-types\/\">Practical C# \u2013 Generalized Async Return Types in C# 7<\/a> by Andrea Angella.<\/li>\n<li><a href=\"http:\/\/www.andreaangella.com\/2017\/07\/practical-csharp-readonly-auto-properties\/\">Practical C# \u2013 Readonly Auto Properties<\/a> by Andrea Angella.<\/li>\n<\/ul>\n<h2>F#<\/h2>\n<ul>\n<li><a href=\"http:\/\/completely-unique.com\/posts\/kami2-solver-part-2\">Kami 2 Solver in F# &#8211; Part 2<\/a> by Chris Smith.<\/li>\n<li><a href=\"https:\/\/medium.com\/@edgarsanchezg\/f-is-a-first-functional-language-but-being-multi-paradigm-it-can-handle-classes-objects-fd9ede7a2cc9\">How does OO look in F#?<\/a> by Edgar S\u00e1nchez.<\/li>\n<li><a href=\"https:\/\/medium.com\/@iSetr\/from-javascript-to-functional-web-development-part-2-33b2a9388935\">From JavaScript to Functional Web Development (part 2)<\/a> by Sandor Szaloki.<\/li>\n<li><a href=\"https:\/\/medium.com\/@iSetr\/intro-your-website-in-websharper-296817af84e0\">Intro your website in WebSharper<\/a> by Sandor Szaloki.<\/li>\n<li><a href=\"https:\/\/blogs.msdn.microsoft.com\/uk_faculty_connection\/2017\/07\/12\/a-gentle-introduction-to-functional-programming-for-web-programmers-using-f\/\">A gentle introduction to functional programming for web programmers using F#<\/a> by Lee Stott.<\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2017\/07\/microsoft-fsharp-build?utm_campaign=infoq_content&amp;utm_source=twitter&amp;utm_medium=feed&amp;utm_term=dotnet\">Microsoft Reiterates its Support of F#<\/a> by InfoQ.<\/li>\n<li><a href=\"https:\/\/vimeo.com\/169456334\">Introduction to F# with Nikhil Barthwal<\/a> by Nikhil Barthwal via NYC F# meetup.<\/li>\n<\/ul>\n<p>There is more content available this week in <a href=\"https:\/\/sergeytihon.wordpress.com\/category\/f-weekly\/\">F# Weekly<\/a>. If you want to see more F# awesomeness, please check it out!<\/p>\n<h2>Xamarin<\/h2>\n<ul>\n<li><a href=\"http:\/\/gunnarpeipman.com\/2017\/07\/tizen\/\">Visual Studio Tools for Tizen<\/a> by Gunnar Peipman.<\/li>\n<li><a href=\"http:\/\/depblog.weblogs.us\/2017\/07\/12\/xamarin-forms-tabbed-page-uwp-with-images\/\">Xamarin forms Tabbed page \u2013 UWP with images<\/a> by Glenn Versweyveld.<\/li>\n<li><a href=\"http:\/\/developer.telerik.com\/products\/ui-for-xamarin\/xamarin-live-player-unpacked\/\">The Xamarin Live Player Unpacked<\/a> by Sam Basu.<\/li>\n<li><a href=\"http:\/\/inquisitorjax.blogspot.com\/2017\/07\/generate-pdf-documents-for-ios-android.html\">Generate pdf documents for iOS, Android &amp; Windows UWP using Xamarin Forms and Syncfusion Essentials\u2013Part 2<\/a> by Malcolm Jack.<\/li>\n<li><a href=\"http:\/\/inquisitorjax.blogspot.com\/2017\/07\/mobile-cross-platform-image.html\">Mobile Cross Platform Image manipulation with Xamarin (Android \/ iOS \/ Windows UWP)<\/a> by Malcolm Jack.<\/li>\n<li><a href=\"http:\/\/jesseliberty.com\/2017\/07\/06\/learning-xamarin-forms-part-2-mvvm\/\">Learning Xamarin.Forms \u2013 Part 2: MVVM<\/a> by Jesse Liberty.<\/li>\n<li><a href=\"http:\/\/blog.pieeatingninjas.be\/2017\/07\/06\/bind-to-xamarin-picker-but-only-update-value-after-hitting-done-on-ios\/\">Bind to Xamarin Picker but only update value after hitting Done on iOS<\/a> by Pieter Nijs.<\/li>\n<li><a href=\"http:\/\/brianlagunas.com\/mocking-and-unit-testing-the-xamarin-forms-application-class\/\">Mocking and Unit Testing the Xamarin.Forms Application class<\/a> by Brian Lagunas.<\/li>\n<li><a href=\"https:\/\/alexdunn.org\/2017\/07\/13\/xamarin-basics-ad-hoc-ios-builds-part-2a-publishing-in-hockeyapp\/\">Xamarin.Basics \u2013 Ad Hoc iOS Builds, Part 2a: Publishing in HockeyApp<\/a> by Alex Dunn.<\/li>\n<li><a href=\"https:\/\/almirvuk.blogspot.com\/2017\/07\/difference-between-xamarinforms-and.html\">Difference between Xamarin.Forms and Xamarin Traditional<\/a> by Almir Vuk.<\/li>\n<li><a href=\"http:\/\/xleon.net\/xamarin\/ios\/nslayoutconstraint\/autolayout\/getting-fancy-with-uiview-anchors-and-state-changes.html\">Getting fancy with UIView anchors and state changes<\/a> by Diego Ponce de Le\u00f3n.<\/li>\n<li><a href=\"http:\/\/xleon.net\/xamarin\/ios\/uistackview-magic.html\">UIStackView magic<\/a> by Diego Ponce de Le\u00f3n.<\/li>\n<li><a href=\"https:\/\/releases.xamarin.com\/beta-release-15-3-preview-4\/\">Beta Release: 15.3 Preview 4<\/a> by Bri Brothers.<\/li>\n<li><a href=\"https:\/\/medium.com\/@donblas\/step-by-step-tracking-down-a-macos-beta-regression-39fe29b254de\">Step by step tracking down a macOS Beta regression<\/a> by Chris Hamons.<\/li>\n<li><a href=\"https:\/\/channel9.msdn.com\/Shows\/XamarinShow\/Episode-26-Monetizing-Mobile-Apps-with-Ads\">Episode 26: Monetizing Mobile Apps with Ads<\/a> by The Xamarin Show.<\/li>\n<li><a href=\"https:\/\/codemilltech.com\/things-i-think-are-cool-behaviors-library\/\">Things I Think Are Cool: Behaviors Library<\/a> by Matthew Soucoup.<\/li>\n<li><a href=\"https:\/\/codemilltech.com\/xaml-markup-extensions\/\">XAML Markup Extensions<\/a> by Matthew Soucoup.<\/li>\n<li><a href=\"https:\/\/blog.xamarin.com\/mastering-android-support-libraries\/\">Mastering the Android Support Libraries<\/a> by James Montemagno.<\/li>\n<li><a href=\"https:\/\/blog.xamarin.com\/podcast-app-monetization-net-standard-azure-cosmos-db\/\">Xamarin Podcast: App Monetization, .NET Standard, Azure Cosmos DB, and more!<\/a> by Pierce Boggan.<\/li>\n<li><a href=\"https:\/\/blog.xamarin.com\/urban-refuges-refugee-aid-mobile-apps-turn-research-action\/\">Urban Refuge\u2019s Refugee Aid Mobile Apps Turn Research into Action<\/a> by Lacey Butler.<\/li>\n<li><a href=\"https:\/\/xamgirl.com\/prism-in-xamarin-forms-step-by-step-part-1\/\">Prism in Xamarin Forms Step by Step (Part. 1)<\/a> by Charlin Agramonte.<\/li>\n<\/ul>\n<h2>Azure<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.humankode.com\/asp-net-core\/how-to-store-secrets-in-azure-key-vault-using-net-core\">How to Store Secrets in Azure Key Vault Using .NET Core<\/a> by humankode.<\/li>\n<li><a href=\"https:\/\/blogs.msdn.microsoft.com\/brandonh\/2017\/07\/17\/monitoring-the-nuget-feed-using-azure-functions\/\">Monitoring the Nuget feed using Azure Functions<\/a> by Brandon H.<\/li>\n<li><a href=\"https:\/\/azure.microsoft.com\/en-us\/resources\/samples\/data-lake-analytics-dotnet-auth-options\/\">Azure Data Lake authentication options for .NET<\/a> by Matthew Hicks.<\/li>\n<li><a href=\"https:\/\/azure.microsoft.com\/en-us\/resources\/samples\/media-services-dotnet-functions-integration\/\">Media Services: Integrating Azure Media Services with Azure Functions and Logic Apps<\/a> by John Deutscher.<\/li>\n<li><a href=\"https:\/\/azure.microsoft.com\/en-us\/resources\/samples\/service-fabric-dotnet-quickstart\/\">Service Fabric .NET Quickstart<\/a> by Mikkel Hegnhoj.<\/li>\n<\/ul>\n<h2>UWP<\/h2>\n<ul>\n<li><a href=\"https:\/\/blogs.windows.com\/buildingapps\/2017\/07\/12\/windows-10-sdk-preview-build-16232-released\/#eytmIyZ3atxZuMq8.97\">Windows 10 SDK Preview Build 16232 Released<\/a> by Clint Rutkas.<\/li>\n<li><a href=\"https:\/\/blogs.windows.com\/buildingapps\/2017\/07\/12\/announcing-babylon-js-3-0\/#B86CuisPPwiV6bvx.97\">Announcing Babylon.js 3.0<\/a> by David Catuhe.<\/li>\n<li><a href=\"https:\/\/channel9.msdn.com\/coding4fun\/blog\/The-UWP-Community-Toolkit-is-1-12-v15\">The UWP Community Toolkit is 1 1\/2! (v1.5)<\/a> by Channel 9.<\/li>\n<li><a href=\"http:\/\/dotnetbyexample.blogspot.com\/2017\/07\/building-dynamic-floating-clickable.html\">Building a dynamic floating clickable menu for HoloLens\/Windows MR<\/a> by Joost van Schaik.<\/li>\n<\/ul>\n<h2>Data<\/h2>\n<ul>\n<li><a href=\"https:\/\/ayende.com\/blog\/178945\/reviewing-resin-part-i?key=457d59ed93ed44cebbb25ace8f71d561\">Reviewing Resin Part I<\/a>, <a href=\"https:\/\/ayende.com\/blog\/178946\/reviewing-resin-part-ii?Key=154eea77-6556-4292-94f5-0838c0174e89&amp;utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+AyendeRahien+%28Ayende+%40+Rahien%29\">Part II<\/a>,  and <a href=\"https:\/\/ayende.com\/blog\/178947\/reviewing-resin-part-iii?Key=c73f964b-561b-4bfa-ab80-a72624d4e568\">Part III<\/a> by Ayende Rahien.<\/li>\n<\/ul>\n<h2>Game development<\/h2>\n<ul>\n<li><a href=\"https:\/\/youtu.be\/-Qvmvro9BmI\">[Video] 12.7 Unity Tower defense tutorial &#8211; Buying upgrades<\/a> by inScope Studios.<\/li>\n<li><a href=\"https:\/\/youtu.be\/vdcdqEgV6-8\">[Video] Basic Level Design with Unity Terrain Generation<\/a> by Infallible Code.<\/li>\n<li><a href=\"https:\/\/blogs.windows.com\/buildingapps\/2017\/07\/12\/calling-game-devs-dream-build-play-2017-challenge\/#1YS5DZdpOSUDru9Q.97\">Calling all game devs: The Dream.Build.Play 2017 Challenge is Here!<\/a> by Andrew Parsons.<\/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. The F# section is provided by <a href=\"https:\/\/twitter.com\/_cartermp\">Phillip Carter<\/a>, the gaming section by <a href=\"https:\/\/twitter.com\/yecats131\">Stacey Haffner<\/a>, the Xamarin section by <a href=\"https:\/\/twitter.com\/DanRigby\">Dan Rigby<\/a>, and the Azure and UWP section by <a href=\"http:\/\/twitter.com\/mbcrump\">Michael Crump<\/a>.<\/p>\n<p>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?\nWe&#8217;d love to hear from you, and feature your contributions on future posts. Please <a href=\"https:\/\/weekindotnet.azurewebsites.net\">add your posts<\/a>, it takes only a second.<\/p>\n<p>We pick the articles based on the following criteria: the posts must be about .NET, they must have been published this week, and they must be original contents. Publication in Week in .NET is not an endorsement from Microsoft or the authors of this post.<\/p>\n<p>This week&#8217;s post (and future posts) also contains news I first read on <a href=\"https:\/\/blogs.msdn.microsoft.com\/webdev\/tag\/communitystandup\/\">The ASP.NET Community Standup<\/a>, on <a href=\"http:\/\/weeklyxamarin.com\/\">Weekly Xamarin<\/a>, on <a href=\"https:\/\/sergeytihon.wordpress.com\/category\/f-weekly\/\">F# weekly<\/a>, and on <a href=\"http:\/\/themorningbrew.net\/\">The Morning Brew<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Previous posts: Links! Links! .NET Conf, Material Design in XAML Toolkit Package of the week: Command Line Parser Library Command-line applications typically accept arguments and options, and expose a &#8211;help page describing them. Parsing those arguments and options is a repetitive task that .NET provides little help for out of the box, beyond the string[] [&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":[4,51,153],"class_list":["post-13705","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","tag-net","tag-community","tag-week-in-net"],"acf":[],"blog_post_summary":"<p>Previous posts: Links! Links! .NET Conf, Material Design in XAML Toolkit Package of the week: Command Line Parser Library Command-line applications typically accept arguments and options, and expose a &#8211;help page describing them. Parsing those arguments and options is a repetitive task that .NET provides little help for out of the box, beyond the string[] [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/13705","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=13705"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/13705\/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=13705"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=13705"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=13705"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}