In Azure DevOps each Team Project gets a wiki. A wiki is a great place to store/share text content like documentation in your project. But did you know that you can access it as a Git repository? The wiki link for an Azure DevOps Team Project Accessing your Wiki via Git helps to make…(Read More)

I was writing some code yesterday that needed to enumerate all files in a directory. So I wrote what I’ve been writing since the beginning of time: var files = Directory.GetFiles(“*.*”, new EnumerationOptions { RecurseSubdirectories = true }); At first, it seemed to be working just fine but then I noticed that hidden files were…(Read More)

I just finished up giving a talk for DevBoston on GitHub Codespaces. GitHub Codespaces: Seriously, You Can Develop in a Browser Codespaces from GitHub lets you develop in a browser.  Seriously.  In a browser.  And it’s great.  It’s amazing.  It’s not a toy either – it’s for real actual work.  It’s…(Read More)

I got a question from a customer yesterday as part of an upgrade to Azure DevOps 2020. He was telling me that some of the work items that were assigned to him were missing from the “Assigned to me” work item query results. He showed it to me and — sure enough — they were…(Read More)

If you didn’t already know, you can create shortcuts in Git by adding aliases to your .gitconfig file. I’ve created a bunch of them for operations that I either 1) do again and again or 2) can’t seem to remember the commands. Here are my .gitconfig aliases. (TL;DR? Here’s a…(Read More)

Yesterday I wrote a post about an error I was getting in an Azure DevOps YAML Pipeline script. The gist was that I had a long string in the YAML file and I was running into a problem using the YAML string literal pipe ‘|’ syntax. Well, in my effort to understand what the specification…(Read More)

Love it or hate it, you’ve got to admit that YAML build pipeline scripts can be a brittle. One little bit of whitespace out of place and — boom! — you staring at a ton of errors. I ran into two related errors yesterday while I was working on an Azure DevOps pipeline script: “bad…(Read More)

In .NET Core, the ClaimsIdentity class represents a user in your application. It helps describe who they are and helps manage the list of claims which describe what they can do.  But if you use the wrong constructor on ClaimsIdentity or provide the subtly wrong information to that constructor, you might see some strange behavior…(Read More)

Visual Studio has a fantastic feature in it that lets you quickly run the performance profiler against a unit test. Got a test that is running slow and you want to find out why? Go to Test Explorer, right-click that test and choose Profile. That’ll automatically run that test with the profiler attached…(Read More)

I’m a .NET Core developer and I mostly work on a Mac. Before docker and containers, this would have been hard to do. But now there are containers for SQL Server, the Azure Storage emulator, and the CosmosDb emulator. Developing on a Mac is easy now. And developing on a Mac makes it easy…(Read More)