Nate McMaster

Software dev & infrequent blogger

Recent Posts

Deep-dive into .NET Core primitives, part 3: runtimeconfig.json in depth

Selecting .NET Core's runtime settings, versions, rollforward policy, and more

.NET Core applications contain a file named <something>.runtimeconfig.json. This file can be used to control a variety of options. Most developers need not be concerned with it because the SDK generates the file, but I think it’s worth understanding. The file can be used to control settings which are not surfaced in Visual Studio, such as automatically running your app on higher .NET Core versions, tuning thread pools and garbage collection, and more.

Deep-dive into .NET Core primitives, part 2: the shared framework

A closer look at Microsoft.AspNetCore.App and common pitfalls

Shared frameworks have been an essential part of .NET Core since 1.0. ASP.NET Core shipped as a shared framework for the first time in 2.1. You may not have noticed if things are working smoothly, but there have been some bumps and ongoing discussion about its design. In this post, I will dive deep into the shared frameworks and talk about some common developer pitfalls.

.NET Core Plugins

Introducing an API for loading .dll files (and their dependencies) as 'plugins'

I recently published a new package for .NET Core developers that want to implement a plugin system. Dynamic assembly loading in .NET Core is difficult to get right. The API in this package wrangles the complexity through a feature called ‘load contexts’. In this post, I’ll walk through problems that motivated the creation of this project, and explain what the API can do. My hope is that this plugin API will let you focus more on writing your app, and put an end to the inevitable mess of creating your own assembly loading code.

Configuring ASP.NET Core, webpack, and hot module replacement (hmr) for fast TypeScript development

This project setup supports browser live-reloading changes to TypeScript files while you develop in ASP.NET Core

Recently, I spent a weekend banging my head against the wall as I tried to figure out how to upgrade a personal project to webpack 4, TypeScript 2.9, and React (used to be AngularJS 1.6). I finally got it all working together – and even got hot module replacement (hmr) working. TL;DR? Checkout the code here:

See more posts...