- On .NET with Mattias Karlsson on Cake, Topshelf
- On .NET with Brett Morrison, DateTime Extensions
- Open XML SDK, Adventure Time
.NET Architecture – Microservices & Containers
We recently added an Architecture Guidance page on the .NET Website. This new page pulls together architecture related resources for building different types of applications with .NET. We’ll be adding and updating content as it becomes available.
The Microservices & Containers section of the page provides some great resources for building and deploying microservices with .NET. Cesar De la Torre has authored two eBooks, one on designing and building microservices, and the other on deploying and maintaining them in production. You’ll also find the eShopOnContainers sample application, that shows all the concepts in action.
Visit the Architecture Guidance page to get these resources, and more.
On .NET: Omer Raviv – OzCode
During the Microsoft Build conference, we recorded interviews with some of the attendees. This week, we’re publishing the one we did with Omer Raviv, with a fantastic demo of OzCode, a debugging extension for Visual Studio that makes it a lot easier to debug Linq expressions, displays variable values right in the code editor, and much, much more. This is recommended watching for anyone who spends a lot of time in the debugger.
Package of the week: Sprache
Parsing text is one of the most common tasks in computer science. Whether you need to build a small DSL, use an exotic data format, or use formatted input from your users, you’ll need to describe how to transform text into a data structure.
There are fully-featured toolsets such as ANTLR to perform such tasks, and many language grammars are defined with ANTLR, but for smaller parsing needs, they can be massively overkill.
Sprache is a lightweight package to build simple parsers in C#. You can stop using regular expressions right now, and start building maintainable parsers instead 😉
Parser<string> identifier = from leading in Parse.WhiteSpace.Many() from first in Parse.Letter.Once() from rest in Parse.LetterOrDigit.Many() from trailing in Parse.WhiteSpace.Many() select new string(first.Concat(rest).ToArray()); var id = identifier.Parse(" abc123 "); Assert.AreEqual("abc123", id);
Meetup of the week: F# for your day job in Durham, NC
If you’ve read a little about F# but haven’t given it a serious try yourself, you might get the impression that it’s good for people writing massively distributed systems or machine learning algorithms, but doesn’t help with the kind of code you trudge through from 9 to 5. In fact, F# excels at expressing clean, simple solutions to the everyday problems encountered when developing business applications.
- Microsoft .NET Framework 4.7 is available on Windows Update, WSUS, and MU Catalog by Jamshed Damkewala.
- How the .NET Runtime loads a Type by Matt Warren.
- Rider EAP 23: .NET Core debugger is back, Code Cleanup, and more by Jura Gorohovsky.
- Automate Testing and Running Apps with dotnet watch by Steve Smith.
- One year of running the Windsor-Essex .NET Developers by Derek Comartin.
- From Java to .Net Core, Part 2: Types by Yev Bronshteyn.
- AutoMapper 6.1.0 released by Jimmy Bogard.
- Consuming REST Services from Your Mobile Application Using Swagger and AutoRest by Nick Randolph.
- .Net Core .csproj – Automatically Packaging README.txt by Ben Gribaudo.
- To Heap or not to Heap; That’s the Large Object Question? by Doug Duerner.
- Create a Free Private NuGet Server with Continuous Deployment using VSTS by Paul Hiles.
- How to reference a .NET Core library in WinForms – Or, .NET Standard Explained by Scott Hanselman.
- Automatically validating anti-forgery tokens in ASP.NET Core with the AutoValidateAntiforgeryTokenAttribute by Andrew Lock.
- Minimal ASP.NET Core Web API project by Gérald Barré.
- Docker for .NET Developers (Part 3) Why we started using Docker with ASP.NET Core and Docker for .NET Developers (Part 4) Working with docker-compose and multiple ASP.NET Core microservices by Steve Gordon.
- Resolving ASP.NET Core Startup class from the DI container by Filip W.
- Integrating Microsoft Identity Authorization into a Menu System by Jonathan Danylko.
- Middleware in ASP.NET Core – Handling requests by Ibrahim Šuta.
- From 0 to 100 with this ASP.NET Core/AngularX Project Template by Greg Duncan.
- Exploring GraphQL and creating a GraphQL endpoint in ASP.NET Core by Jürgen Gutsch.
- Using Consul for Health Checks with ASP.NET Core by Cecil Phillip.
- ASP.NET Core deployment using Docker, Nginx and Ubuntu Server by Piotr Gankiewicz.
- Options for Configuring ASP.NET Core Application Settings by Rion Williams.
- Michael Ballhaus (MCPD + SCJP) by Michael Ballhaus.
- 10 Things To Know About In-Memory Caching In ASP.NET Core by Bipin Joshi.
- C# 7.x and 8.0: Uncertainty and Awesomeness by Erik Heemskerk.
- My Favorite C# 7 Feature: More expression-bodied members by James Montemagno.
- Practical C# – Extern Alias in C# by Andrea Angella.
- Building Roguelike in F# by Simo Raman.
- Options in F# by Andras Nemes.
- Pulling state from F# Mailboxes by Sam Williams.
- The Foundations of Functional Concurrency is 37% off! by Manning and Riccardo Terrell.
- When to Unit Test in F# by Isaac Abraham.
There is more content available this week in F# Weekly. If you want to see more F# awesomeness, please check it out!
- Visual Basic and Cross-Platform: Mobile Apps with VB, Xamarin, and .NET Standard! by Klaus Löffelmann.
- Calling Web Services with HttpWebRequest, WebClient and HttpClient by Peter Vogel.
- Viva, Visual Basic! Or, Does VB Have a Future? by Michael Domingo.
- Stable Release: 15.2.3 Xamarin.VS Servicing Release by Bri Brothers.
- Xamarin Forms, the MVVMLight Toolkit and I: navigation and modal pages by Marco Siccardi.
- Visual States in Xamarin.Forms using BuildIt.Forms by Nick Randolph.
- Xamarin.Forms Visual States with View Models by Nick Randolph.
- Chat Bot with Xamarin Forms by Adam Pedley.
- Is Xamarin Forms Making Traditional Xamarin Obsolete? by Adam Pedley.
- Xamarin Forms ChatBot Application using the Microsoft Bot Framework by Suthahar J.
- Boosting Your Productivity with MFractor by Gerald Versluis.
- 5 Ways to Boost Xamarin.Forms App Startup Time by David Ortinau.
- Adding Face Tracking and Live Recognition to your Android App by Nish Anil.
- Demystifying Build Configurations by Jon Goldberger.
- Episode 25: Unity Game Development with Visual Studio for Mac with Jb Evain by The Xamarin Show.
- Growing Your First Xamarin.Forms Mac App by Matthew Soucoup.
- Things I Think Are Cool: Custom XAML Markup Extensions by Matthew Soucoup.
- Embedding Xamarin.Forms into a Xamarin Native App #TheFuture by James Montemagno.
- Azure via C# – Working with Azure Queues by Andrea Angella.
- Writing an Azure Function in C# to create an ICS Calendar File by Michael Crump.
- Creating ASP.NET Web App In Azure by Viral Jain.
- AppVeyor – Continuous Delivery to Azure for your .NET Core Applications by Jamie Taylor.
- Adding Fluent Design Acrylic Material to UWP via Xamarin.Forms. by Nick Randolph.
- iBeacons and UWP by Channel 9.
- Setting up a HoloLens project with the HoloToolkit by Joost van Schaik.
- Introducing DataReaderAdapter: Adds AsDataReader()/AsDataReaderOfObjects() to IEnumerable by Ben Gribaudo.
- Getting Started with Duality – Part 1 by Stacey Haffner.
- Attributes – Unity Tips by GameGrind.
- Unity 5.6 Tutorial: How to create a Maze Generator – part 1 by Gamad.
- TDD in Unity – Heart Based Health System – Part 1 by Infallible Code.
- Real Time Strategy in Unity – AI Implementation : Economy by Unit02Games.
And this is it for this week!
Contribute to the week in .NET
As always, this weekly post couldn’t exist without community contributions, and I’d like to thank all those who sent links and tips. The F# section is provided by Phillip Carter, the gaming section by Stacey Haffner, the Xamarin section by Dan Rigby, and the Azure and UWP section by Michael Crump.
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’d love to hear from you, and feature your contributions on future posts. Please add your posts, it takes only a second.
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.