Fixing broken Azure Unit tests

The following in a unit tests app.config will break mstest

<trace>

<listeners>

<add type=”Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″ name=”AzureDiagnostics”>

<filter type=”” />

</add>

</listeners>

</trace>

In the IDE it will report:

An exception occurred while invoking executor ‘executor://mstestadapter/v1’: Object reference not set to an instance of an object.

In mstest it will report:

Unit Test Adapter threw exception:

Could not create Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.

Not running in a hosted service or the Development Fabric..

Why is Visual Studio 2012 SHOUTING AT ME

There is a fairly serious design flaw in the Visual Studio 2012.

The menus are all in capital letters. This seriously reduces the readability.

I understand that someone is trying to be consistent with the Windows 8 Phone interface, but remember we are not writing software on a phone.

There is a registry hack that can fix this easily (http://stackoverflow.com/questions/10859173/how-to-disable-all-caps-menu-titles-in-visual-studio-2012-rc) but really this should be a config option.

It’s even worse in Office 2013 the caps need to be fixed on a menu by  menu basis (edit the name and add a space at the end).

Restoring the ease of a Delphi Service to C#

Back in the days when I was working with Delphi I loved the way that the service exe itself included the ability to install and uninstall it without requiring a seperate utility. This made deployment (and removal) a lot easier – especially if this needs to be explained in a short email.

The topshelf project provides this functionality. The service starts it’s life as a console application (for developer convenience) and can directly be installed as a service. It even by default provides command line help.