Bus or Queue

Bus or Queue

A common question I encounter is, “what is the difference between a message bus (or service bus) and a message queue?” There has been some blurring of the lines between these two concepts, as some products now support features that previously belonged only to one or the other category (for instance Azure Service Bus supports […]

Encapsulated Collections in Entity Framework Core

Encapsulated Collections in Entity Framework Core

Starting with Entity Framework Core 1.1, you can now have properly encapsulated collections in your classes that rely on EF for persistence. Previous versions of EF have required collection properties to support ICollection<T>, which means any user of the class can add or remove items from its properties (or even Clear it). If you’re writing […]

xUnit Test Discovery Error with ASPNET Core 1.1

If you run into an error with test discovery using xUnit and ASP.NET Core 1.1 where there is a FileNotFoundException looking for Microsoft.DotNet.Internal.Abstractions version 1.0.0.0, there is a fairly simple fix. The problem is that one of the dependent packages in ASP.NET Core requires this package but for some reason it’s not being pulled in. […]

Detect git Conflict Markers

Detect git Conflict Markers

This is post 2 of 2 in the series “Developer Tips” If you’re using git, you’ve probably run into a problem at some point where you’ve had to perform a merge, and a merge conflict resulted. This happens when two different commits changed the same line in a file, and git can’t tell which commit […]

Avoid Referencing Infrastructure in Visual Studio Solutions

Avoid Referencing Infrastructure in Visual Studio Solutions

The dependency inversion principle states that your application’s abstractions should not depend on implementation details, but rather implementation should depend on abstractions. In Clean DDD architected applications, you’ll typically have a class library called Core (or something similar) which houses the domain model, including the main abstractions. Your implementation libraries (“Infrastructure”) will reference this project […]

The Minimal ASPNET 1.1 App

The Minimal ASPNET 1.1 App

In a previous article, I described how to create the minimal ASP.NET Core 1.0 app. That is, what’s the smallest amount of code you could write to produce an ASP.NET Core application? In this article, I’ll demonstrate how to do the same for ASP.NET Core 1.1. The main difference is in the project file, which […]

Developer on Fire Interview

Developer on Fire Interview

I recently spoke with David Rael of the Developer on Fire podcast. We talked about a lot of things in our 40 minute conversation. Here are some of the highlights: How I got into software development What excites me about building software My entrepreneurial experience My involvement in ASP.NET Core and .NET Core Personal stories […]

Open Command or Powershell Window From Explorer

Open Command or Powershell Window From Explorer

Command line tools are becoming increasingly popular, so this tip may save you some time. On Windows, there are several ways to open up a command window. My typical method is to just hit the Start key and type ‘cmd’ and then enter. This will open a window in my user folder, which is exactly […]