.NET

Introducing ARI

If you are working with Azure, you might have encountered the challenge of keeping track of all the subscriptions, resource groups, and resources that you have in your tenant. You might also want to document them in a clear and consistent way, for example, for compliance, auditing, or reporting purposes.

Read more...

Introducing UnpackDacPac

If you work with SQL Server databases, you may have encountered DAC packages, or dacpacs, which are a way of packaging a database's schema and seed data for deployment or migration. Dacpacs are useful for deploying databases to different environments, such as development, testing, or production, but it's tooling comes with some limitations. For example, you cannot easily inspect the contents of a dacpac file without having a running instance of SQL Server.

Read more...

Introducing BRI

Are you looking for a way to document your Azure Bicep modules in a simple and elegant way? If so, you might want to check out BRI, a .NET tool that I created to help you with that.

Read more...

Joining the .NET Foundation Board of Directors

Yesterday the .NET Foundation announced the results from the 2021 Board of Directors Election. An election where the Foundation's members choose who they want to represent them on the board and this election set out to fill four out of seven seats.

Read more...

Devlead.Statiq - Part 3 - IncludeCode 🤺

So I'm lazy... when doing a blog post, or documentation I don't want to repeat my self, and a prime example of that is when documenting Statiq features I found my self to want to both display both the "source" and the "result" without having to type the same thing twice nor update in multiple places and that's why I created the IncludeCode Shortcode and in this last of the three-part introductory blog post series about the NuGet package Devlead.Statiq I'll tell you all about it.

Read more...

Devlead.Statiq - Part 2 - Theme from external web resource

Sometimes you just want things your way, in this second part of the three-part introductory blog post series about the NuGet package Devlead.Statiq, I'll go through how it can enable having your Statiq web theme reside as a common external web resource.

Read more...

Devlead.Statiq - Part 1 - Tabs

Earlier this year I blogged about that my "Blog migrated to Statiq", one advantage with Statiq is that it's through .NET code really customizable and lets you adapt it fully to your needs. Code that can be packaged and distributed as a NuGet package, making it straightforward to share and reuse functionality between sites.

In a three-part blog post series, I'll start going through the features of the NuGet package Devlead.Statiq created for my own Statiq based sites - but probably useful for others too, and this first part will be about the TabGroup Shortcode.

Read more...

Introducing DPI

When brought in as DevOps consultant or a new employee for that matter, one is often tasked with getting a clear picture of the current state of projects, how they work and fit together.

A big part of this initial and ongoing is to analyze and audit dependencies, which is why I've created dpi a tool that both locally and as part of your DevOps pipeline can analyze your repository projects dependencies and report to Azure Log Analytics, console, and files.

Read more...

Introducing Cake ClickOnce Recipe

A little over a decade ago I did a lot of business applications with .NET Framework WPF and ClickOnce was in many cases used as a convenient way to deploy and update Windows applications. ClickOnce hasn't gotten much love over the years, and when .NET Core 3 introduced support for WPF applications ClickOnce support was nowhere to be found. But guess what, that's changed with .NET 5 and in this post, I'll go through my recipe for simplifying the building and publishing .NET 5 Windows application using GitHub Actions, Cake, and ClickOnce to Azure Blob Storage.

Read more...

My preferred .NET console stack

There's type of application that has followed me since I learned to code in the mid-'80s, and that's the console application. For years they looked the same a Main(string[] args) and some naive inconsistent command line parser. That gradually improved with the adoption of various OSS helper libraries. In this post, I'll walk through what today is my alternative starting point to dotnet new console, a way that greatly reduces the boilerplate code needed for logging, parsing, and validation of arguments, letting me focus on the problem to solve and not the plumbing.

Read more...