Previous posts:
- On .NET with Brett Morrison, DateTime Extensions
- Open XML SDK, Adventure Time
- .NET poster, Happy Birthday .NET with Jan Kotas, Skyworld
On .NET: Mattias Karlsson – Cake
During the Microsoft Build conference, we recorded interviews with some of the attendees. Mattias Karlsson is a core contributor on Cake, the cross-platform build automation system with a C# DSL.
Package of the week: Topshelf
Topshelf is a framework for hosting services written using .NET. The creation of services is simplified by allowing developers to create an easy to debug console application that can also be installed as a service.
public class TownCrier
{
readonly Timer _timer;
public TownCrier()
{
_timer = new Timer(1000) {AutoReset = true};
_timer.Elapsed += (sender, eventArgs) =>
Console.WriteLine(@"It is {DateTime.Now} and all is well");
}
public void Start() { _timer.Start(); }
public void Stop() { _timer.Stop(); }
}
public class Program
{
public static void Main()
{
HostFactory.Run(x =>
{
x.Service<TownCrier>(s =>
{
s.ConstructUsing(name=> new TownCrier());
s.WhenStarted(tc => tc.Start());
s.WhenStopped(tc => tc.Stop());
});
x.RunAsLocalSystem();
x.SetDescription("Sample Topshelf Host");
x.SetDisplayName("TownCrier");
x.SetServiceName("TownCrier");
});
}
}
Meetup of the week: The Dockering of .NET with Cecil Phillip in Miami, FL
The June meeting of dotNet Miami will have .NET expert and Away From The Keyboard host Cecil Phillip talking about marrying Docker and .NET. Cecil will review the basics of Docker and how we can add containers to our applications.
Thursday, June 15, 2017 6:30 PM in Miami, FL
.NET
- Performance Improvements in .NET Core by Stephen Toub.
- Measuring Performance Improvements in .NET Core with BenchmarkDotNet (Part 1) by Andrey Akinshin.
- .NET Core 2 and Visual Studio 2017 Preview 2 by Lee Coward.
- .NET Fringe: A Great Role Model for Community Oriented Conferences by Immo Landwerth.
- .NET and Docker by Scott Hanselman.
- Trying .NET Core on Linux with just a tarball (without apt-get) by Scott Hanselman.
- Continuously publishing Nuget package to MyGet using VSTS by Gérald Barré.
- Porting a .NET Framework library to .NET Core by Harsh Gupta 9.
- Creating your first shared library in .NET Core by Paul Hiles.
- Contributing to the .NET Core SDK source code for the first time, and how OSS helped me by Jeremy Lindsay.
- 5 Reasons You Should Stop Using System.Drawing from ASP.NET by Clinton Ingram.
- First Foray into .NET Core 2.0 by Julie Lerman.
- Testavior: A Happy Solution To Test Your ASP.NET Core Applications by Arnaud.
- Getting Started with PowerShell Core on Windows, Mac, and Linux by Ashley McGlone.
- Logging with Log4Net and Common Logging by Matthew Groves.
- Implementing a scheduler for your orchestrations by Szymon Kulec ‘Scooletz’.
ASP.NET
- Defining custom logging messages with LoggerMessage.Define in ASP.NET Core by Andrew Lock.
- Defining ASP.NET Core Controller action constraint to match the correct action by Pam Lahoud.
- Excluding the node_modules folder when publishing ASP.NET projects. by Cecil Phillip.
- Simplest Possible ASP.NET Core Web Application in Docker for Windows by Bobby Johnson.
- Theming in ASP.NET Core by Hisham Bin Ateya.
- Keep your ASP.NET Core application’s secrets safe during development by Jon Hilton.
- Self Descriptive HTTP API in ASP.NET Core: Hypermedia Clients by Derek Comartin.
- OpenID Connect Session Management using an Angular application and IdentityServer4 by Damien Bowden.
- Building the Ultimate RestSharp Client in ASP.NET and C# by Matthew Jones.
- ASP.NET Core POCO Controllers by Dino Esposito.
- Feeding Server Timing API from ASP.NET Core by Tomasz Pęczek.
C#
- C# 7 Features with Mads Torgersen by Mads Torgersen, Maria Naggaga, and Jon Galloway.
- An Early Look at C# 7.1: Part 1 by InfoQ.
- C# 7.2 and 8.0 Roadmap by InfoQ.
- C# 7 Series, Part 3: Default Literals by Mark Zhou.
- Disambiguate method trick based on generic constraint by Matthieu Mezil.
- Top 20 Recommended Microsoft Build 2017 Sessions for C# Developers by Alvin Ashcraft.
- Null checking allocations and mass refactoring with Resharper by Alexander Tsvetkov.
- Practical C# – LINQ Set Operations by Andrea Angella.
F#
- Kami 2 Solver in F# – Part 1 by Chris Smith.
- Minimalistic Live Testing Fable Apps With QUnit by Zaid Ajaj.
- Parallel Programming with F# and Hopac by Natallia Dzenisenka.
- Productive Web Applications (F#) by Jeremy Abbot.
There is more content available this week in F# Weekly. If you want to see more F# awesomeness, please check it out!
VB
- Building web API apps on ASP.NET Core 2 and VB.NET by Gunnar Peipman.
Xamarin
- Enterprise Application Patterns using Xamarin.Forms by David Britch.
- Enterprise Apps Made Easy with New Authentication & Microsoft Graph Libraries by Mayur Tendulka.
- Unleashed: Embedding Xamarin.Forms in Xamarin Native by David Ortinau.
- WWDC 2017 Recap for iOS Developers by Pierce Boggan.
- Xamarin Developer Events This June by Jayme Singleton.
- Episode 24: Xamarin Live Player by The Xamarin Show.
- Getting started with MonoGame using XML by Simon Jackson.
- Creating Custom Controls with Bindable Properties in Xamarin.Forms by Bryan Anthony Garcia.
- Xamarin Forms, the MVVMLight Toolkit and I: Dependecy Injection by Marco Siccardi.
- Alpha Release: Xamarin Workbooks & Inspector 1.3.0-alpha2 by Bri Brothers.
- Common issues in the Xamarin 15.2.2 release being tracked by the Xamarin team by Brendan Zagaeski.
- Optimize memory usage in Xamarin apps by Samuel Debruyn.
- Mobile Center plugin for fastlane by Mobile Center Team.
- Zero to Build: Create new Xamarin apps in minutes with AppMap by Infragistics.
- Can’t Start Android Emulator on macOS? It’s Probably Conflicting with Docker by Junian Triajianto.
- Xamarin and DevOps: Setting up your iOS CI by Steven Thewissen.
- Xamarin and DevOps: Versioning your app by Steven Thewissen.
- Getting Started with Xamarin Forms for Mac Preview by S Ravi Kumar.
- Realm Mobile Database with Xamarin Forms Step By Step Guide by S Ravi Kumar.
- NuGet Support in Visual Studio for Mac 7.0 by Matt Ward.
- Xamarin.Forms & PaintCode by Antonio Feregrino Bolaños.
Azure
- Azure via C# – Delete Azure Blobs by Andrea Angella.
- Azure via C# – Download Azure Blobs by Andrea Angella.* Upgrade your .Net Core Service Fabric Microservices from VS 2015 to VS 2017 by Andrej Medic.
- Architecting Azure Functions: Function Timeouts and Work Fan-Out with Queues by Jason Roberts.
- Remote debug your Azure App Service 2017 including ASP.NET Core by Benjamin Perkins.
UWP
- Native Ads in Microsoft Advertising SDK by Vivek Mohan.
- Using color fonts for beautiful text and icons by Rick Manning.
Data
- Reduce Overhead When Retrieving Objects with Entity Framework by Peter Vogel.
- LLBLGen Pro for .NET and .NET Core – Database Entity Modeling with any ORM by Scott Hanselman.
Game development
- Advanced VR Mechanics With Unity and the HTC Vive – Part 2 by Eric Van de Kerckhove.
- Getting started with MonoGame using XML by Simon Jackson.
- Sid Meier and Bruce Shelley’s postmortem of Civilization by Sid Meier and Bruce Shelley.
- Getting started with Mixer Interactivity in Unity by Stacey Haffner.
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.
This week’s post (and future posts) also contains news I first read on The ASP.NET Community Standup, on Weekly Xamarin, on F# weekly, and on The Morning Brew.