Low-code / no-code basically means serverless

How to remove Azure Functions without deleting the Functions App?

Have you ever run into a situation, where you just wanted to remove the currently standing function definitions from your app service without actually nuking the whole Functions app? I have! App Service configuration is usually easy to manage programmatically or by scripting, so even if you need to redo the deployment, it should be fairly straightforward. But what if you don’t have the setup scripted, and have already configured everything the way you like it – you’d really like to NOT nuke the whole […]

entity-framework-logo

EntityFramework Core 2.1 – Update-Database error “The EntityFramework package is not installed”

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 This error can occur with probably any of the EntityFrameworkCore commandlets. Update-Database is just the one I ran into problems […]

Have you tried turning it off and on again?

How to fix “AADSTS90008: The user or administrator has not consented to use the application”?

A couple of days ago, I got a comment asking how to fix error AADSTS90008 when developing an application using Azure Active Directory The error in question was this: AADSTS90008: The user or administrator has not consented to use the application with ID ‘[guid]’. This happened because application is misconfigured: it must require access to Windows Azure Active Directory by specifying at least ‘Sign in and read user profile’ permission. While the error itself is usually fairly simple, explaining what to do in a comment […]

Not sure if a bug or a feature

How to format dates in ASP.NET?

Have you ever been struggling, to make your ASP.NET MVC views format your properties of type datetime correctly? I have. And I’ve been shot in the leg by weird hacks made by both me (just 6 months earlier) or someone else. So I thought I’d finally document the different ways one can set up the formatting of datetime fields in ASP.NET MVC projects. Or at least all the ways I’ve found so far! :) While this guide has been written for ASP.NET MVC, most of […]

"Chrome SP Editor" -about page

SharePoint Search Console – Now available inside Chrome SP Editor!

This post is about two of my favorite tools: Chrome SP Editor, and SharePoint Search Query tool. Or maybe better yet, an amalgamation of the two! Description I’ve mentioned the Chrome SP Editor before, and for a good reason. It’s a great tool for any IT Pro or Dev working with SharePoint on a daily basis. It’s maintained by a very talented developer, one of the people behind Valo Intranet, Tomi Tavela. If you’re using the tool, let him know on Twitter! But I’m not […]

ASP.NET Core web app home page

Resolving the Version conflicts for a downgraded .NET Core 2.1/2.2 web app project

I ran into compatibility issues with .NET Core 2.2 on my Azure Functions projects, so I downgraded my whole solution (an Azure Functions project, a helpers library and a web application project) to 2.1, and got rid of that particular nuisance. This introduced a few new issues, though – namely, I started getting this error whenever trying to restore nuget packages or build the project: NU1107 Version conflict detected for Microsoft.AspNetCore.Razor.Language. Install/reference Microsoft.AspNetCore.Razor.Language 2.2.0 directly to project [projectname] to resolve this issue. [projectname] -> Microsoft.VisualStudio.Web.CodeGeneration.Design […]

Microsoft SQL Server logo

Easily querying all the database and log file sizes on SQL Server

Quite often you get the need to simply quickly query all the database sizes on MS SQL Server – most typically, for us, this need arises when a development machine gets low on disk space, and we need to check if some database’s log size has been growing, or if something else is wrong. In my daily work, I rarely encounter this requirement anymore. Azure has almost entirely obliterated the need for such diagnostics, since it’s so easy to spin up or scale up new […]

Let's fix all the problems!

Fixing “An assembly specified in the application dependencies manifest [projectname].deps.json was not found”

This post describes one nobrainerish fix to the error “An assembly specified in the application dependencies manifest [projectname].deps.json was not found.” I ran into this while running Update-Database for my ASP.NET Core web project, that’s using EntityFrameworkCore 2.1.1. I hadn’t seen this one before, but the error was quite interesting: Error: An assembly specified in the application dependencies manifest (Koskila.[projectname].AzureFunctions.deps.json) was not found: package: ‘Koskila.[projectname].AzureFunctions’, version: ‘1.0.0’ path: ‘Koskila.[projectname].AzureFunctions.dll’ Well that’s a weird one coming from an update-database command!

Microsoft Privacy

What is “fp.js” – and why is it snooping on your SharePoint usage?

Microsoft is gathering all kinds of telemetric data out of the usage of SharePoint. I ran into an interesting JavaScript file, fp.js, on SharePoint Online doing just that. Gathering data. It loads on pretty much every single page request, so it’s something you’ll bump into anytime you open your developer tools! Your customer’s IT might even inquire about it – perhaps wanting to disable it for perfomance or information security gains? But what is fp.js and what does it do?

Meanwhile on Google Plus...

Google Plus is shutting down – fix your .NET OAuth flow!

Google is shutting down their Facebook killer, Google+. While I’m sure there’s at least 10 end users that are sad to see the ill-fated not-that-social-medium go, the implications for Software Developers actually could be far more far-reaching. A lot of implementations of Google’s OAuth seem to rely on Google Plus’s APIs to get gather information about the user. When Google Plus goes down, so will the APIs. Their apparently unsafe implementation seems to be a major reason Google’s hastening the shutdown anyway. This means that […]

If you could just fix SharePoint... That would be great.

Solving yet another “Microsoft.SharePoint.Client.ServerException: Unknown Error”

There’s maybe a thousand things that can throw an “Microsoft.SharePoint.Client.ServerException”, but a bit smaller amount of things, that are ambiguous enough to be called “Unknown error”. This post describes one, fairly usual fix for this issue! But let’s get back to the beginning for a second – you get what and when now? When running any code, that provisions new sites (much like https://www.koskila.net/new-pnpsite-fails-with-sitestatus3/), you get an error like this almost immediately: Microsoft.SharePoint.Client.ServerException: Unknown Error at Microsoft.SharePoint.Client.ClientRequest.ProcessResponseStream(Stream responseStream) at Microsoft.SharePoint.Client.ClientRequest.ProcessResponse() at Microsoft.SharePoint.Client.ClientRequest.ExecuteQueryToServer(ChunkStringBuilder sb) at Microsoft.SharePoint.Client.ClientContext.ExecuteQuery() […]

The 5th annual Hacktoberfest

#Hacktoberfest 2018 – a fun way to encourage Open Source contributions!

This post is about the Hacktoberfest event in 2018. I contributed to Microsoft’s repositories and a couple of other ones – and it was a lot of fun! Wow – I’m quite behind on this post, but thought it’s worthwhile to give credit where credit is due. Even if that credit comes woefully slowly! In 2018, Microsoft took part in DigitalOcean’s Hacktoberfest-challenge. Designed to encourage Open Source -contributions in a playful and gamified manner (in addition to being a lighthearted marketing campaign, of course), it’s a […]

Get-Command -Module AzureRM.Profile. You're seeing it correctly - it doesn't have a Logout-AzureRmAccount, Disconnect-AzureRmAccount, Remove-AzureRmAccount or even Remove-AzureRmContext commandlets! That's a lot of fun :)

Oh no! PowerShell cached my Azure credentials and I messed up wrong customer’s environment!

Whoops. Could happen to anyone, since the Azure PowerShell since (approximately) version 6.3.0 will cache your credentials between sessions without warning you. It’s really easy to run your commands with cached accounts, and end up executing your scripts against the wrong environment. In less serious cases, this means that you’ll end up running commandlets twice against the test environment, while you think you’re running them first against test, and then production. In more serious cases, you’ll deploy your ARM templates or run your cleanup scripts against wrong […]

If you could just fix SharePoint... That would be great.

Fixing “-2147024891, System.UnauthorizedAccessException” when accessing SharePoint SOAP Web Services

This post is about delving into some legacy stuff – Microsoft has still kept SOAP-based SharePoint Web Services included in the product, since a lot of functionality has been built on top of them. We encountered an issue where you suddenly started getting exceptions for Unauthorized Access (-2147024891, System.UnauthorizedAccessException), no matter if you had access to the list or not. Error description We started getting this error, when requesting list items using SharePoint SOAP Web Services (namely, Lists.asmx): <m:code>-2147024891, System.UnauthorizedAccessException</m:code> <m:message xml:lang="en-US"> Access denied. You […]

“500 Internal Server Error” after updating a WordPress site to PHP 7.3

Now for something totally different – for a change, I got to fix an issue with my own blog, so I had the chance to delve into PHP and WordPress configurations… :) PHP is an ever-evolving language – even if it might not always feel that way. The old workhorse has been powering most of the internet for a couple of decades, and weirdly enough, doesn’t really show signs of going anywhere. A huge part of the success story has been the fact that WordPress, […]

SOLVE ALL THE ERRORS!

Azure Functions failing on “OPTIONS” call? Quick fix!

I recently ran into an issue when developing Azure Functions locally. My SPFx webpart was configured to request information from my locally running Azure Function, but suddenly started ending up in error. Browser only showed 404 for the first request (OPTIONS) the SPFx webpart was sending – although I knew the function was up and running! So what to do?

Visitors of koskila.net categorized by Google

Thanks for an amazing 2018!

Year 2018 is drawing to an end, and it’s a good time for some reflection on what an interesting year it’s been! Personally, quite a few things have happened in the last 12 months – I moved to Canada, started a new/old job, became a father, spoke at awesome events, met a lot of cool people – just tons of awesome stuff. But personal things aside, 2018 has been an interesting and rewarding time to be writing this blog! 2018 was the year when the […]

Office-365-logo

The Scary Anatomy of a Microsoft License Fraud

Note: While this was originally posted around the Christmas of 2018, and some company or seller names might not be relevant as scammers come and go, the principles in this blog post seem to be valid since early 2000s to probably until 2038 (when the Internet ends due to the Epochalypse). Tis the season for gifts, and lots of y’all might be thinking about giving out a digital gift. Maybe some of the more practical ones think about gifting someone a subscription of Office 365 […]

SharePoint PnP logo

How to fix Add-PnPApp failing with an Access Denied error

This was a peculiar case! An issue I hadn’t run into before, and luckily a disturbingly simple fix. But first, let’s set up the scene: We were running a long-ish PowerShell script using a Global Administrator account. One part of the script was supposed to add and deploy a couple of SharePoint apps. But while running Add-PnPApp, we ran into errors: Add-PnPApp -Path $path -Scope $app.Scope -ErrorAc… , Error: {"error":{"code":"-2147024891, System.UnauthorizedAccessException","message":{"lang":"en-US","value":"Access denied. You do not have permission to perform this action or access this resource."}}} […]

SharePoint cat fixing them errors

Subsite creation in SharePoint fails with error 0x80070005 for any user (even global/farm admins!)

This issue seems to pop up bafflingly often, so I thought it’s finally time to document it for future generations. Granted, it mainly considers Classic SharePoint (which is very tightly built around Publishing features) – but Classic is going to be part of our lives for quite a while still, especially for those of us still primarily on SharePoint Server! While trying to provision subsites to your SharePoint Publishing intranet you encounter either a generic “Access Denied” -error, or any error with 0x80070005 as the underlying error […]

SharePoint PnP logo

New-PnPSite fails with “SiteStatus” : 3

While running “New-PnPSite” or actually any other site creation, method in PowerShell or programmatically, the site creation fails and you get an error like the one below back: New-PnPSite : {"d":{"Create":{"__metadata":{"type":"SP.Publishing.CommunicationSiteCreationResponse"}, "SiteStatus":3, "SiteUrl":""}}} Ouch! Where does this come from? In the code of New-PnPSite, the actual function call is shown below: var results = ClientContext.CreateSiteAsync(creationInformation); var returnedContext = results.GetAwaiter().GetResult(); (Source) So, the error is not thrown by PnP cmdlet, but rather comes from SharePoint CSOM. This is pretty normal and not surprising, but means we […]

In other news in Simpsons: SharePoint Search stopped indexing some properties again.

Issues with User Profile Property visibility in Search-powered functionalities

This article applies to a lot of different issues you might be having with your SharePoint-powered site, or even custom functionality like mobile apps using SharePoint’s search index. I’ll list a few of the situations, which could be caused by these issues, below: You’re using Search to show a list of User Profiles with their properties, but it’s showing outdated or missing information Your intranet has the classic “Upcoming Birthdays” -webpart (only weather and lunch lists are more classic than that!) This webpart is not […]

"PictureThumbnailURL" configuration in SharePoint Online Search Schema

Bug: “PictureThumbnailURL” always null in SharePoint Online Search results

This post describes the status of an ongoing issue in SharePoint Online, where the Managed Property “PictureThumbnailURL” will return null no matter what you do. This Managed Property is used for a few different use cases – most notably, Delve blog post’s hero, or header photo’s URL is mapped to this property, as it’s meant to be used as a thumbnail picture in a number of rollups. In this article, I describe the investigation, mitigation, possible workarounds and of course the current status of the […]

"Get-UnifiedGroup" cmdlet produces a list of your Office 365 Groups with some default properties shown

How to fix an Office Group with no Owners

This post explains how to add new Owners to your Office Groups using PowerShell. If your group has ended up without any owners, PowerShell might even be the only option, since the graphical user interfaces for Office Groups management are not that good.  Background The hype around Office Groups kind of died down a little bit a while back, since their role wasn’t that clear – they didn’t really do much, and were confusing for end users. Back then, I posted about them replacing Site […]

SharePoint is not broken - it just does't work

Help! My “Content and Structure” page in SharePoint Online is gone!

First of all: you’re right and your eyes are serving you well. It has indeed disappeared. Starting in October, it’ll be hidden from end users. Microsoft is retiring the “Site Content and Structure” tool in SharePoint Online. Which kind of makes sense, since it’s quite an old feature – albeit, a very useful one. How to access “Content and Structure”? Even though Microsoft is retiring the tool, and has already hidden it from the UI, it’s still accessible. That’s supposing you had access to it in […]