The only difference I can see from your code to what I'm using (which was the basis of my blog post) is that I have my TypeDescriptor calls before my builder.Build() call, not before my app.Run()
I hope that helps.