Azure Active Directory, the advanced logo

Iterating Group memberships using Claims in .NET Core

Another case, where there’s plenty of documentation, but it just doesn’t seem to be comprehensive enough or just doesn’t apply for any of the cases that I have – for whatever reason. Maybe my cases are wrong, or I’m just bad at googling, but I’ve struggled to find a good page documenting this. Perfect case for another blog post about the topic, then – perhaps someone else will find it useful! This post answers the question: How to get Claims for a user in .NET…Continue reading Iterating Group memberships using Claims in .NET Core

Internet Explorer working like Internet Explorer usually does - not working. But this time it's Blazor's fault!

IE11 fails to load a (server-side) Blazor web app

Welp – this was not a fun issue to run into! While nobody in this day and age should use Internet Explorer for any normal usage (occasional legacy scenarios aside), there are still some luddites who do (or whose IT department makes them to). This means it’s still useful, and sometimes even required, for a web application to work even in Internet Explorer. Description of the issue Table of Contents Description of the issueSolution So, like shown in the article’s image, when trying to access…Continue reading IE11 fails to load a (server-side) Blazor web app

Entity Framework Core logo

How to instantiate your DbContext outside your Data project?

When you’re in your .NET Core project, it’s always easy: you just register your DbContext in ConfigureServices, and then inject it into whichever Page, View or Controller you might need it in. However, when you have another project or solution you’re working on and you’d still like to use the same DbContext and your entity classes in it, you have to find another way to do it! What should we do, then? Description Table of Contents DescriptionWhy would you need your DbContext outside your original…Continue reading How to instantiate your DbContext outside your Data project?

Hacktoberfest 2019 logo

Another year, another Hacktoberfest (2019)!

Like a lot of the more frequent readers of this blog know, I generally work in proprietary – that is, non-open-source – projects. Whenever I do have some time to dabble in OSS, it’s usually for a hobby. This time around, I’ve been really struggling to find the time to contribute to open-source projects. Last year I had just had a baby – so it’s not like I was sleeping anyway. I was able to submit a few useful scripts, bugfixes and documentation improvements during…Continue reading Another year, another Hacktoberfest (2019)!

Always ship Azure DevOps.

How to use the right version of the WebDriver on hosted agents in Azure DevOps?

We were working on getting our Robot Framework tests running during our builds on Azure DevOps. However, using hosted agents, it was quite a struggle to get all of the dependencies on the agent and make sure the tests can access the browser on the build machine. In our case, we were running the tests in Chrome. For this, we needed Robot Framework and some of its dependencies to be installed on the machine. Luckily, that wasn’t too complicated – however, getting the WebDriver that…Continue reading How to use the right version of the WebDriver on hosted agents in Azure DevOps?

Build successful? SHIP IT!

EF Core fails to load hostpolicy.dll when RuntimeIdentifier is win-x86

Ran into another interesting one when working with a .NET Core 3.0 project and Entity Framework Core – this time, RuntimeIdentifier configuration causing trouble. In short, running Update-Database (to apply code-first migrations to your local database) locally would return this, annoying error: Failed to load the dll from [runtimepath]\win-x86\hostpolicy.dll], HRESULT: 0x800700C1 An error occurred while loading required library hostpolicy.dll from [runtimepath]\win-x86\] I suspect this can happen with any x86 runtimeIdentifier, but the one I had specified in my .csproj-file was this: <RuntimeIdentifier>win-x86</RuntimeIdentifier> This value (or…Continue reading EF Core fails to load hostpolicy.dll when RuntimeIdentifier is win-x86

Blazor blazing away some geeks.

How to fix “The type or namespace name ‘Services’ does not exist in the namespace ‘Microsoft.AspNetCore.Components’ (are you missing an assembly reference?)”

Just resolved a random issue that’s difficult enough to google, that I think it’s worth documenting! These seem to be popping up whenever you work with anything that’s fairly fresh out of oven… This particular case revolves around Visual Studio being incredibly obnoxious, and starting to throw a ton of errors on code that worked five minutes prior. In my case, the error happened after updates to Visual Studio. Always fun. Symptoms The errors started popping up in Visual Studio. Basically, I just started getting…Continue reading How to fix “The type or namespace name ‘Services’ does not exist in the namespace ‘Microsoft.AspNetCore.Components’ (are you missing an assembly reference?)”

Azure DevOps - Always Be Shipping!

Azure DevOps – how to package a single DLL?

Okay – a quick piece of documentation that was a bit lackluster, so it’s again a good idea to log somewhere. How to package a simple DLL that’s a result of your Azure DevOps Pipeline? In my particular case, I have configured a post-build step to obfuscate the DLL, that’s first built by MSBuild. That works nicely. However, the default way to create a NuGet package, where you select a project (usually you pass the same variable to NuGet pack command that you used earlier…Continue reading Azure DevOps – how to package a single DLL?

.NET Core fundamentals in one picture.

How to use UriHelper or NavigationManager in .NET Core 3.0 & Blazor?

Just a quick piece of documentation, as this piece of code has changed in different versions of .NET Core 3.0 so far a few times. Need to have things like this written down somewhere! UriHelper / NavigationManager with .NET Core 3.0 Both of these helper libraries do essentially the same thing: navigate/browse/redirect the user to a different address, component, page or view in or by your web app. What you normally use this library for is exactly the same in all versions I’ve worked with,…Continue reading How to use UriHelper or NavigationManager in .NET Core 3.0 & Blazor?

Azure DevOps - Always Be Shipping!

Azure DevOps build fails with “The nuget command failed with exit code(1) and error(Cannot determine the packages folder to restore NuGet packages.”

This was another peculiar one – something, that didn’t bring up too many results on Google. Always fun trying to figure out those! So, when configuring an Azure DevOps pipeline (build) for a .NET project, you run into this annoying error: ##[error]The nuget command failed with exit code(1) and error(Cannot determine the packages folder to restore NuGet packages. Please specify either -PackagesDirectory or -SolutionDirectory. Job: “The nuget command failed with exit code(1) and error(Cannot determine the packages folder to restore NuGet packages. Please specify either…Continue reading Azure DevOps build fails with “The nuget command failed with exit code(1) and error(Cannot determine the packages folder to restore NuGet packages.”

A simple graphical explanation of Blazor's effect on the web development landscape.

HttpClient in Blazor

Blazor is a new (ish) framework for building web UIs with C#. It either uses SignalR to manage connections between your client-side and server-side code, or even compiles directly to WebAssembly, in both cases cutting out the need to write any pesky JavaScript yourself – pretty neat, if you ask me! However, developing your web apps with Blazor is a bit different from using ASP.NET MVC, for example. Other people have written great introductions to the tech, so I’ll stick to the problem at hand:…Continue reading HttpClient in Blazor

Application Insights in the Azure Marketplace

List of Azure Regions, where Application Insights is available

This article describes the Azure regions, where Azure Monitor Application Insights is available. Azure regions A region is a set of datacenters deployed within a latency-defined perimeter and connected through a dedicated regional low-latency network. Depending on who’s talking, regions are sometimes called locations, geolocations or just geos. Azure regions give customers the flexibility to deploy their applications where they need to. Azure is generally available in 44 regions around the world, with plans announced for 10 additional regions. However, not all features are available…Continue reading List of Azure Regions, where Application Insights is available

.NET logo

How to get the Description for a property in ASP.NET MVC 5?

This post describes the easiest way to show description texts for properties in ASP.NET MVC 5. Sounds simple, right? We can use something like @Html.DescriptionFor(x => x.Property), right? Alas, it’s not that straightforward. A bit surprisingly, there’s no ready-made helper function for this. I’m saying “surprisingly”, because I feel like MVC 5 really already has all the bells and whistles – AND the kitchen sink. But no, it does not have a helper for getting a description of a property :) You can, however, define…Continue reading How to get the Description for a property in ASP.NET MVC 5?

.NET Core fundamentals in one picture.

How to add creator/modified info to all of your EF models at once in .NET Core

This is a tip that should often be the first thing you do in your projects with database backend, no matter which technology you use: Add some basic info about modified and created times, and the user information – so that if something happens, everyone will know who to blame 😉 There’s a lot of great blog articles describing how to do this in .NET Framework, but not that many for .NET Core. It’s very similar, but not the same. I learned that by copy-pasting…Continue reading How to add creator/modified info to all of your EF models at once in .NET Core

Miina (@minepupper) is fixing them bugs

EF Core returns null for a Navigation property

This article describes how to fix a situation, where you can’t use any of the navigation properties of your Entity Framework Core entities, since they are all null, despite data being in the database for sure. So, another day, another error. This time I can’t blame SharePoint, since I just messed up with ASP.NET Core and Entity Framework Core. :) Symptoms No matter what I’d do, I was getting null values for my navigation properties on my entities. They’d would always be null during runtime…Continue reading EF Core returns null for a Navigation property

SOLVE ALL THE ERRORS!

‘__generated__Index.OnInitAsync()’: no suitable method found to override

Welp – just ran into this one, and as I expect others to encounter the same issue, better document in right away! So in Blazor, I was crafting a simple component that’d display some data in a nice way. Being lazy and crafty, I thought I’d copy-paste some similar code from an earlier POC I had built, since I knew it worked. The component was overriding a method called “OnInitAsync”, and it just nicely fetched data after initialized. But alas, it didn’t. Not anymore. I…Continue reading ‘__generated__Index.OnInitAsync()’: no suitable method found to override

Name a more Canadian thing. That's right - you can't! Sorreyh.

Au revoir Canada, bonjour Finland.. Eh?

Is this seriously my first ACTUAL post about Canada? What a major gap in my content! However, living in Canada has been fairly hectic (with the work, family and trips), so I haven’t been able to write much about our life here – unlike when we were living in the States. Which, conveniently, brings me to the main point of this rambling – This post works as an announcement of sorts: I’m wrapping up my life in Canada, and moving back to Finland. I’ll be…Continue reading Au revoir Canada, bonjour Finland.. Eh?

SharePoint Hub sites - like how Microsoft themselves put it! (From: https://docs.microsoft.com/en-us/sharepoint/planning-hub-sites)

SharePoint Home, Hub, Sites, Start… What?

This article explains the current terminology Microsoft uses around your different pages in SharePoint. Or at least tries to – and do that in a way that’s faithful to the current, flat & Modern world. Microsoft has been known for their less-than stellar track record of figuring out easy and descriptive names for their products. Let me introduce 2 cases in point: Microsoft® WinFX™ Software Development Kit for Microsoft® Pre-Release Windows Operating System Code-Named “Longhorn”, Beta 1 Web Setup” – that’s a mouthful! Or for…Continue reading SharePoint Home, Hub, Sites, Start… What?

Thanks for coming to my session at SPS Charlotte 8/10/2019!

This is just a quick update to share my materials from my SharePoint Saturday Charlotte 2019 session. What a fun event – and a cool city! It was a pleasure getting to know the local community and visiting a new state. Thanks for the local user group (and the conference organizers) for having me! Charlotte – what a beautiful city! Charlotte seems like a really lively city. And what an active audience – a long day, but people actually stayed at the venue until the…Continue reading Thanks for coming to my session at SPS Charlotte 8/10/2019!