Why does PowerShell Universal Dashboard hate my Mac?

What is this "Microsoft.Extensions.Logging.Filter" and why is it causing me issues?

Posted on March 24, 2018

So recently I was looking for dashboarding things and powershell things at the same time, and I came across a tool called PowerShell Universal Dashboard. You can follow that link or search around to get some info on it. It is a pretty slick dashboarding tool. I think especially nice for some dashboard prototyping if you are into powershell.

The tool was slick and fun to play with, but when I went to load it on my Mac, I got something like the following error:

So after some fiddling, I found that the module simply did not include the referenced file above. I should say lots of fiddling that did not really need to happen since the problem is stated pretty clearly in the error message. It can’t find the file! The really weird thing is that the package for this was installed on my machine. Here’s a snip:

So I didn’t go digging around in the server.cs to figure out exactly why, but I’m guessing this is just a missing file. The odd thing is it is also missing on my windows PC but it works there just fine. Maybe on PC these things are loaded into the GAC and the assembly resolution looks there but it won’t do that on a Mac.

Regardless, I didn’t really worry about this much as I didn’t mind just running it on my PC. But I happened to visit a friend and we were discussing it and he also had a Mac and we ran into the same problem. Long story short, you can just copy the file that is missing.

Below is how I found the folders for the module and the package. Then it was just a matter of copying the missing dll to the path the error said it was looking for and everything worked perfect.

After this I was able to run all of the fun examples, as long as they didn’t need windows specific items. If there is one thing I would suggest modifing in the examples it would be to make them cross platform as this seems like it is intended to be. It was a pain that none of the fun examples for machine status etc worked. But the ones that did sure were pretty. =)