I secretly automated my whole job with PowerShell

How to use Microsoft.Online.SharePoint.PowerShell with PowerShell 7?

This article explains an annoying extra step (or a really nifty trick – depending on how you choose to look at it!) you can take to make sure your PowerShell 7 is able to import a module that was developed for .NET Framework, instead of .NET Core. This is super helpful when you run into weirdness with some of the more, let’s call them CLASSICAL, PowerShell modules. Such as Microsoft.Online.SharePoint.PowerShell. Problem I use PowerShell 7 as the default shell in my Windows Terminal. It doesn’t…Continue reading How to use Microsoft.Online.SharePoint.PowerShell with PowerShell 7?

Entity Framework - am I right?

How to fix another weird Entity Framework Core dependency issue?

Okay – so that’s a non-descriptive title if I’ve ever written one – I apologize for that! I just couldn’t figure out a way to shorten the error when “Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore” is referencing “Microsoft.AspNetCore.Http.Abstractions”, and even though you’re not referencing that dependency directly, you get an error where you have both 3.x and 5.x or 6.x major versions of the assembly in use. Which, in layman’s terms, is no good. What a weird case – not something you would usually expect to run into! But as…Continue reading How to fix another weird Entity Framework Core dependency issue?

Azure DevOps - Always Be Shipping!

How to configure Azure IoT Edge deployments in Azure DevOps pipeline?

So some time ago, I needed to configure my first Azure DevOps pipeline for an Azure IoT Edge project. I needed to figure out which tasks to use, how to handle variables – all that good stuff. And let’s call it a learning experience. Pro tip: AzureIoTEdge task is not the way to go :) This article has actually been more than a year in the making, but as usual, it takes me a while to get around to polishing things into a publishable form.…Continue reading How to configure Azure IoT Edge deployments in Azure DevOps pipeline?

I'm not saying it was built with Azure Functions, but it was definitely built with Azure Functions.

How to fix “The listener for function was unable to start. Out of retries creating lease for partition 0”

Here is another pretty quick one – trying to debug Azure Functions fails with a confusing error message about failing to create a lease for a partition. But as usual, the fix is (probably) simple, and this article explains what to do :) So, hey future me, finding this article on Google! 🙋‍♂️ Let’s get to it, then! Problem When trying to debug your Azure Function, you get an error somewhat like this: The listener for function [function name] was unable to start. Microsoft.Azure.EventHubs.Processor: Out…Continue reading How to fix “The listener for function was unable to start. Out of retries creating lease for partition 0”

Everything is broken (a delicious lego meme)

The simplest fixes to “500 (Internal Server Error)” from Azurite

This quick blog post explains a couple of very simple fixes – essentially, user errors – to a simple problem that you might run into with Visual Studio when developing the latest of your cool Azure bits. Well, to be fair, a few simple fixes and one heavyweight. A final ditch effort to learn to live with Azurite. But we’ll get to it. So, let’s embark on a journey, to try and make some sense of the whole Azure Storage emulating/exploring a side of things…Continue reading The simplest fixes to “500 (Internal Server Error)” from Azurite

PostgreSQL everywhere

How to configure Azure PostgreSQL to allow Cloud Shell connections?

I was setting up a PostgreSQL database in Azure, to be used by a cutesy little Azure Function storing telemetry from a bunch of Azure IoT Edge Devices. But when everything was (supposed to be) configured successfully, my Azure Function failed to store anything anywhere because of a missing database… Oh, right. Entity Framework can’t create PostgreSQL databases, as the connection is made to an existing database – so it can’t be instantiated if the database doesn’t exist on the server already. So, what do…Continue reading How to configure Azure PostgreSQL to allow Cloud Shell connections?

Microsoft Graph g-raph (giraffe) - the spirit animal of Microsoft Graph

How to fix Graph API returning null properties for Users?

This article explains a quick fix to a small but annoying issue: Microsoft Graph API SDK persistently returning null values for most properties of your Microsoft.Graph.User objects. The issue might happen when using either the Graph API SDK or just calling the REST API directly. Both options are entirely acceptable, and in both cases, you’re not getting the properties you wanted. Well, I wasn’t, anyway. Problem The other day, I was developing a thingie that needed to fetch fields like Department from Azure AD. The…Continue reading How to fix Graph API returning null properties for Users?

How to copy dependent assemblies to the bin folder on build?

This is something that comes up pretty often – when you’re building an application, or maybe a library you’re sharing as a NuGet package to your friends: You’ll need to share a dependency or two with your particular package, and you don’t want your end users having to reference those libraries, too. Sounds easy, right? But alas, it’s not as simple as one would like :) (Well, unless you’re happy running dotnet publish every time – that should work, but I want to have these…Continue reading How to copy dependent assemblies to the bin folder on build?

Everything is broken (a delicious lego meme)

“Unable to retrieve IoT Edge informationIoT Edge configuration uses an unsupported schema and cannot be displayed.” after deploying from VS Code. What do?

This article explains a couple of steps you might need to take when executing a Single-Device deployment from Visual Studio Code to an Azure IoT Edge device. Through a bit of trial and error, I learned quite a few things that might go wrong when VSCode is building your deployment manifest (the one that’ll be hosted under “config” folder and used for the deployment – that is). Background So a while ago, I was updating the base deployment of an Azure IoT Edge device. I…Continue reading “Unable to retrieve IoT Edge informationIoT Edge configuration uses an unsupported schema and cannot be displayed.” after deploying from VS Code. What do?

CORS errors.

Azure Functions suddenly throwing CORS errors when ran locally? Easy fix(es)!

In this article, I’m listing the quick fixes to your Azure Functions suddenly throwing seemingly random and very unexpected CORS errors. I have run into this so many times that I had to list these (admittedly simple) fixes in order of importance purely for myself – but perhaps some of these will help you as well! 😁 CORS issues can be frustrating but the issue is usually, simple to fix – as long as you know what you are doing. But first, let’s take a…Continue reading Azure Functions suddenly throwing CORS errors when ran locally? Easy fix(es)!

Azure IoT Edge is just Docker containers all the way

How to fix “Cannot start service edgeHubDev: Ports are not available: listen tcp 0.0.0.0:8883”

Here is another fun one for the books! In this article, I will explain how to fix a problem with the Azure IoT Edge dev simulator, when it fails to start due to an underlying problem with Docker not having access to your defined ports. This will probably happen to one of the ports used by the Edge Hub system module by default – 5671, 8883, or 443. Problem So, when you’re trying to run an Azure IoT Edge solution in the simulator, you get…Continue reading How to fix “Cannot start service edgeHubDev: Ports are not available: listen tcp 0.0.0.0:8883”

Docker - sure, it works great!

How to fix “exec user process caused: no such file or directory” in Docker on Windows?

Another one in the series of “random things that break when you try to run Docker on Windows”! I was just minding my own business, trying to run an Azure IoT Edge custom module – a Docker container, really – locally, when suddenly everything broke and one of my Docker containers wouldn’t run anymore, which broke the rest of my stuff pretty badly. Instead, it failed with a cryptic and surprising error “exec user process caused: no such file or directory”. So, let’s take a…Continue reading How to fix “exec user process caused: no such file or directory” in Docker on Windows?

EF Core equals bonk - a quality Entity Framework meme right there.

How to run EF Core commands when your entities are in a different project from your dbcontext?

This article explains how to achieve that nice configuration where you can reuse your .NET EF Core (Entity Framework Core) entities in different projects – even being separate from the project holding your DbContexts! You might want to do this if you have a common data model between a number of very different projects – but you will still need to have a way to add new migrations, apply the current ones to a database or possibly remove deprecated migrations. You can do this both…Continue reading How to run EF Core commands when your entities are in a different project from your dbcontext?

I'm not saying it was built with Azure Functions, but it was definitely built with Azure Functions.

How to fix “Microsoft.WindowsAzure.Storage: Server encountered an internal error. Please try again after some time.” when using IoTHub trigger for Azure Functions?

One more article before Christmas! 😁 This time, I’ll be fixing a function that’s triggering based on new messages received through my IoT Hub in my Azure Functions project. Technically speaking, this is super simple to implement – your function needs to define an IoTHubTrigger, with an Event Hub name and usually a Connection String (I don’t know why I’m Sentence Casing that, too, but I’ll stick to it!) You can tap a practically unlimited number of Azure Function triggers to any Event Hubs (or…Continue reading How to fix “Microsoft.WindowsAzure.Storage: Server encountered an internal error. Please try again after some time.” when using IoTHub trigger for Azure Functions?

Azure DevOps - Always Be Shipping!

How to authenticate against npm registries in Azure DevOps?

Another one in the series of “this should’ve been easy, but alas, you’re the edge case”. “You” being “me”, and the “edge case” being our internal npm feed (registry), for whatever reason. Ah, well – life would be extremely boring if everything always went according to documentation, right? So, instead of the built-in ways to access npm feeds, this solution includes some PowerShell. Ah – that’s when you know it’s going to be good, right? When someone goes as far as to throw away the…Continue reading How to authenticate against npm registries in Azure DevOps?

SignalRRRRRR meme. Fantastic use of my web hosting storage.

How to test SignalR-connection in the browser?

So a while back I posted about testing your “vanilla” WebSockets connection directly in the browser – and while that’s nice and easy, sometimes you need to class up a bit. In my case that meant upgrading to SignalR (for some corporate and enterprisey reasons as usual). It makes sense to leave behind the easy, simple, lightweight and somewhat transparent WebSockets to “upgrade” to the enterprise-ready (and arguably quite a lot less transparent) SignalR? Well – I went through that, and since I needed to…Continue reading How to test SignalR-connection in the browser?

Azure Key Vault logo

How to update from deprecated Microsoft.Azure.Services.AppAuthentication to new and shiny Azure.Security.KeyVaults.Secrets?

So, a while ago I posted about a fairly simple way to write your code for fetching secrets (and other confidential stuff) from Azure Key Vault in such a way, that it would work the same way both in Azure and on your local dev box. I find this pretty important, as it reduces the need for weird workarounds and fallbacks in your code, and at the same time enables you to harness the Azure Key Vault for that sweet spot of “good enough security…Continue reading How to update from deprecated Microsoft.Azure.Services.AppAuthentication to new and shiny Azure.Security.KeyVaults.Secrets?

Azure Functions CLI - such a pretty logo for such an awesome functionality

How to fix “Unable to cast object of type ‘System.Net.Http.HttpRequestMessage’ to type ‘Microsoft.AspNetCore.Http.HttpRequest’.”

This article explains how to fix an issue where your Azure Functions function (yes, that’s a capital F and a lowercase f to denote the difference between the product and the piece of compute) fails to fire when a POST request comes in, even though it’s configured to do so, and instead throws a somewhat confusing error message about HttpRequestMessage not being castable to HttpRequest – even though you KNOW HttpRequestMessage works just fine for receiving POST requests with payload! So, why is this happening…Continue reading How to fix “Unable to cast object of type ‘System.Net.Http.HttpRequestMessage’ to type ‘Microsoft.AspNetCore.Http.HttpRequest’.”

Azure Key Vault logo

How to authenticate against Azure Key Vault both in Azure and local development environment?

Azure Key Vault is great. But when developing locally, it can be a bit of a pain. You can always circumvent it and create some classical solution, such as simply wrapping all of your key/secret assignments in if-else-clauses that will use local configuration if you’re running locally and only call the Azure Key Vault if you’re in the cloud… But that feels so incredibly early-2000-ish. Isn’t there a better option available? I mean – obviously, there is! And we’ll see how it works in just…Continue reading How to authenticate against Azure Key Vault both in Azure and local development environment?

Azure CosmosDb logo

System.Text.Json.JsonPropertyName not working for CosmosDb in .NET Core/5/6?

This article explains how to fix an annoying issue with Microsoft’s SDK for CosmosDb v3 – it comes with a Newtonsoft.Json dependency, that most of Microsoft’s recent packages have let go of. With .NET Core 3.1 having shipped with System.Text.Json included, and (mostly) replacing Newtonsoft.Json, it’s kind of the preferred option. However, CosmosDb v3 SDK doesn’t support it and by default requires you to use Newtonsoft.Json to override the property names, if you want to – for example – map entities with PascalCase naming with…Continue reading System.Text.Json.JsonPropertyName not working for CosmosDb in .NET Core/5/6?