Programming, Xamarin

Fixing crypt32.dll when restoring NuGet packages

Recently, whenever I tried to restore NuGet packages using the CLI and also having the newest version of VS 2019 for Mac installed, I kept getting the following error:

The solution is although simple. Just grab the latest nuget.exe from and replace it with the one you’re storing locally in your repository.


Creating a Xamarin Binding Library & iOS 11.2

When creating and compiling the Binding Library by following the guide provided by Xamarin, and having set your iOS SDK to 11.2, you will most likely find that armv7 is no longer supported when executing the Makefile:

To solve this issue, simply remove the support for armv7 as done below (remember to use tabs if you write the Makefile by hand):

Now you should be able to produce the Fat binaries.

// Dave


Application Loader, Xamarin and GoogleCast v3 Binding Library

I recently had to upload a new version of an Xamarin.iOS application and used the Application Loader to do so. The difference between the previous and new version  of the application was that the new one included a Binding Library for Google ChromeCast v3.

When I tried to upload, I got the following error:

I spent days tracking down the issue by both reading the official documentation and forums. By sheer luck, I tried uploading using the Organizer in XCode. To my surprise, the application was successfully uploaded to iTunes Connect and started processing. Although, after some time, I received a mail stating that:

[…] The app’s Info.plist must contain an NSBluetoothPeripheralUsageDescription key with a string value explaining to the user how the app uses this data.

Looking at the documentation, it was quite clear that I indeed had forgotten to define the NSBluetoothPeripheralUsageDescription key.

After resolving the issue, I tried uploading using the Application Loader. Unfortunately, the same issue occurred. Instead, I used the Organizer in XCode, and this time, the application was uploaded and processing completed. What a relief!

Lessons learned

Seemingly, the Application Loader doesn’t handle Binding Libraries from Xamarin.iOS that well when they are included as a Framework. Going forward, I’ll instead use the Organizer in XCode for publishing.

I am although certain that other developers will stumble upon this issue as well. Conclusively, Apple should either consider resolving the issue with the Application Loader or remove it from the market entirely.


Hosting an ASP.NET Web Api on an IIS Express Server

Admittedly, It took me some time to figure out how to properly configure an IIS Express Server on a locally hosted machine so that I could establish a connection to the server from a secondary computer. I have although finally gotten the gist of it, so I have put together a guide for others who wish to host their own IIS Express Server.


One of my major issues was that I didn’t run Visual Studio as an Administrator, so keep that in mind should you run into problems.

Additionally, if this guide doesn’t cut it for you, you may also try by directly specifying the name of your computer as described in this guide. When I tried, although, I experienced that I couldn’t properly establish a connection to the server when reserving an URL.

Hosting an ASP.NET Web Api on an IIS Express Server

1. First, we’ll need to create the virtual directoy:

1.1 Open Visual Studio as Administrator

1.2 Open and expand your project

1.3 Navigate to “Properties” -> “Web”

1.4 Ensure that the “Project Url” is “http://localhost:64485”

1.5 Click “Create virtual directory”

2. Now launch the site by:

2.1 Right-clicking on your ASP.NET Web Api project

2.2 From here, select “Set as StartUp Project”

2.3 Launch the site

3. Stop debugging & close Visual Studio

4. Now, in Windows:

4.1 Navigate to”C:\Users\Dave\Documents\IISExpress\config”

4.2 Open the “applicationhost.config” file”

4.3 Search for “bindings”

4.4 Find the entry which contains the name of your API

4.5 Add the highlighted line below the existing localhost binding

4.6 Save

5. Lastly, you’ll need to configure your firewall

5.1 In Windows, open “Control Panel”

5.2 Click “Windows Firewall”

5.3 Click “Advanced Settings”

5.4 Click “Inbound rules”

5.5 Select “Port”

5.6 Click “Next”

5.7 Select “TCP”

5.8 Enter port 64485

5.9 Click “Next” twice

5.10 Provide a name of your choosing

6. Finally, we’ll need to launch the site once more

6.1 Open Visual Studio as Administrator

6.2 Find your project

6.3 Launch the site

You should now be able to access the API using:

1. http://localhost:64485/


// David