Sharing my best software development tips and tricks. From quick tips to actual guides and solutions.
Every now and then comes the need to write your console output to a log file. There’s a simple way to do this in .NET Framework, and quite a few online articles detailing a borderline one-liner on how to do achieve it: Adding a log file listener(s) by calling Debug.Listeners – something like this: TextWriterTraceListener tr1 = new TextWriterTraceListener(System.Console.Out); Debug.Listeners.Add(tr1); TextWriterTraceListener tr2 = new TextWriterTraceListener(System.IO.File.CreateText("Output.txt")); Debug.Listeners.Add(tr2); Source However, this doesn’t work in .NET Core anymore. Problem: Everything changes in .NET Core Using the code…Continue reading Adding Debug listeners to your console application fails in .NET Core
Every now and then you run into a situation, where you really need to run some SQL against your local development database. That database, at least in my case, is hosted on your local SQL Server Express. Connecting to a local SQL Server should be a walk in a park, right? Eh, well… While using a connection string to connect to said DB is easy, you can’t do that with the SQL Server Management Studio. I wish you could, but hey – it is what…Continue reading How to access local MSSQL server using SQL Server Management Studio?
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 Let’s first take a look at the use cases and tech stack.…Continue reading How to instantiate your DbContext outside your Data project?
Ran into this one when trying to push my merge from upstream. I was adhering to my own instructions (see below for a link), but got the error (further below) that stopped me from using GitHub Desktop to push (sync) at all. Posts Related to “How to resolve “refusing to allow an integration to create or update .github/workflows/main.yml” on GitHub Desktop?”:The Scary Anatomy of a Microsoft License Fraud5 ways to enable Custom Scripts for a SharePoint site collectionSharePoint Home, Hub, Sites, Start… What?
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
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?
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
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
This post describes how you can modify your SPFx webparts to make them compatible with usage in Microsoft Teams. I’m also showing some basic ideas what you can do in the code to make the integration more useful! Why would we do this? Who wouldn’t want to just develop once and then run their code everywhere? Now with SPFx (SharePoint Framework) 1.8 being out (and 1.9 being out for a while before being pulled!), we’re getting one step closer to that, as we’re given an…Continue reading How to Teamsify an SPFx solution?
This article explains how to fix an issue where you’re just minding your own business, trying to access the Microsoft Teams context in your SPFx webpart’s WebPartContext via the built-in property microsoftTeams, but you run into an issue. Simple stuff, but it’s still easy to run into this one, so I think it’s worthwhile to document the solution somewhere. Problem Most likely, the line causing you issues looks something like this: this.context.microsoftTeams. Of like shown below in Visual Studio Code: This error will lead to…Continue reading How to solve the error “Property ‘microsoftTeams’ does not exist on type ‘WebPartContext’.”
Instead of being stuck on whatever version your SPFx project was originally created with, it’s possible and sometimes required to upgrade it afterwards to gain access to newer functionalities like integration with Microsoft Teams. This process, to me, is comparable to updating the .NET Framework version in your classic web application projects – while it’s sometimes a matter of simple configuration change and a rebuild, most of the time there’s a bunch of steps included and not all of them might be obvious or anywhere…Continue reading How to update SharePoint Framework for an SPFx webpart?
This is one of those “note to self” -kind of entries. This workflow is probably so natural to a lot of you all, that you won’t need to document it – but since I don’t do that much development with the full “fork – clone – branch – submit pull request” -process (whic is really typical with GitHub and I guess Open Source in general), I always need to look up the instructions on how to add pull any changes from the original repository to…Continue reading Note to self: How to sync from the original repo on GitHub (Git merge upstream)
This article will explain to you how to fix the error “AADSTS700054” Another day, another unsuccessful authentication attempt, and another cool error code. This one I encountered when building a little POC that was supposed to authenticate against Graph API. Problem When developing your client-side solution (an SPFx webpart, React app, ASP.NET MVC application with some client-side components… Your pick!), you run into this error when your code tries to authenticate against Azure AD: AADSTS700054: response_type ‘id_token’ is not enabled for the application. And nothing…Continue reading How to fix “AADSTS700054: response_type ‘id_token’ is not enabled for the application” error
This post describes how you can easily enable debug/verbose information for your Azure Functions for a lightweight and built-in way to extract just a bit more information out of your Azure Function executions. There’s different methods available for Azure and your local development environment. Problem Azure Functions are awesome. But by default, your tools on gathering information without some additional configuration are not that great. The “monitor” view of the function doesn’t give you more than an excerpt of the console. This applies not only…Continue reading How to enable verbose logging for Azure Functions?
SPFx development is a bottomless bag of funsies! This article describes yet another way how to fix the error with your SPFx webpart failing to load a module. In this case, you’ll get an error that starts with the generic “Failed to load component” -part, but contains “There was a network error” later in the stack. I’ve written about this before, but I keep running into new ways to mess up, so I’ll keep documenting the solutions as well! Problem So, this one left me…Continue reading SPFx webpart fails with “Failed to load component – – There was a network error.”
This article describes one way to fix the issue, where uploading and sideloading an SPFx webpart in Microsoft Teams just brickwalls you with a fairly non-descriptive error, and no way to proceed. Luckily, this is usually simple to fix – I’ll describe 2 different solutions I’ve found so far! Problem You’ve got a SPFx webpart, that you’ve packaged as a Teams extension. You can even find it from Teams extensions, but while adding it as a tab, you run into issues. Oh. That’s a bummer.…Continue reading How to resolve “Error initializing application. Error: ***Manifest not found for component id [guid].” when adding an SPFx webpart to Teams?
This post describes the typical reasons why might encounter the following error, and the ways I’ve found to fix them: “Failed to load component. Original error: ***Failed to load path dependency ContosoSPFxWebPartLocalization from component [guid] (ContosoSPFxWebPart)” The error typically looks something like in the screenshot below: Problem This error can be thrown for a lot of different reasons. I’m trying to describe the variants I’ve run into and their fixes below. But first, let’s take a closer look into the error in question! Posts Related…Continue reading SPFx | Failed to load component.
This post describes how to get the currently logged in user using ASP.NET Core. This is compared with how it’s done in .NET Framework. Background In .NET Core, a lot of things are done a bit differently. That’s what I’ve been learning building more and more stuff with it, instead of good old .NET Framework. The learning curve is definitely there, but it’s not that bad – most of the things work in a similar fashion, but a huge number of details are different. In…Continue reading How to get current user in ASP.NET Core?
I’ve been posting about different localization / globalization / multilingual options of SharePoint for quite some time. It’s a topic that’s kind of close to my heart, being a non-English speaker with a really difficult native language – one, that Microsoft always gets wrong even though it’s not for the lack of trying! Weirdly enough, while Microsoft messes up the Finnish translation and localization all the time, they do detect and recognize the language surprisingly well. Enough chitchat, though. In this post, I’m trying to…Continue reading SharePoint linguistic search features
Another weird, but simple issue I ran into when building a simple .NET Core application. I was just minding my own business, crafting since bits of code into something remotely functional, while I ran into an issue. While trying to apply my changes to the database using .NET Core Entity Framework, executing Update-Database simply failed with the following error: The EntityFramework package is not installed You might also encounter this version of the error: The EntityFramework package is not installed on project [projectname here]. This…Continue reading EntityFramework Core – Update-Database error “The EntityFramework package is not installed”