Skip to content

Blog

Fix the Missing NuGet Packages Folder in Azure DevOps

As I was refactoring a .Net project, I run into an annoying little problem that cost me a lot of time. While I could compile the project on my developer machine, it failed with this error on Azure DevOps:

[error]...: Error : This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is packages\SkiaSharp.NativeAssets.macOS.3.119.0\build\net462\SkiaSharp.NativeAssets.macOS.targets.

How to Clone Dashboards in Seq

We use Seq to monitor our applications because it allows us to see all the important information at one place. Our customised dashboards help us to spot anomalies and corelate events without much effort.

Unfortunately, there is no direct way to clone a dashboard as a starting point to customise it for a different application. But with a little workaround we can get what we need, nonetheless.

Little Git Tricks: Get Rid of Commits

If we committed something into a Git repository that should not be there, we could rewrite the history and make it look as it was never there.

I usually try to prevent rewriting the history, especially when I already pushed the changes. Then when we modify the past, everyone in the team needs to do some extra work to catch up.

If this is not a problem or the lesser evil, we can use the following steps to rewrite the Git history.

Change the SSL Certificate of the Octopus Deploy Server

Renewing SSL certificates for applications we deploy with Octopus Deploy is a straightforward task. We can go to the certificate store, replace the old certificate with the new one and the next time we deploy the certificate is on the server. If we need to update the certificate for Octopus Deploy itself, we need to go through more hoops that are not as clear. Let us see what we need to do.

Find Outdated Packages in .NET Projects

Packages get outdated in no time. Keeping your dependencies up to date is not only a good thing, but because of the many security issues also an important task. It is already a few years since I wrote about the little .NET helper libyear. While this tool is still under active development and does its job the same way as it did in 2019, it is time to see what new tools could help us to keep an eye on our dependencies.

A nice little helper I found is dotnet-outdated, that gives us a detailed list of our projects and the outdated packages.

How to Track Down the Elusive 0x00 Character in Your Data

There are a whole bunch of non-printable characters in ASCII like tabulator, end of medium or shift in that sometimes finds its way into a user input. This often happens when copy and pasting data from Microsoft Office.

We can find most of those special characters by copying the data from SQL Server Management Studio into Notepad++. A little visible indicator is all we need to find the special character and remove it. However, 0x00 represents NULL and has no visual indicator, what makes it uncatchable for our usual process.

Last week we got this exception that started an unprecedented hunt for a special character:

System.Xml.XmlException: '.', hexadecimal value 0x00, is an invalid character. at System.Xml.XmlConvert.VerifyCharData(String data, ExceptionType invCharExceptionType, ExceptionType invSurrogateExceptionType)

We checked, double-checked and triple-checked all the data and found nothing. We fixed a bunch of entries, but nothing changed. The exception kept showing up.