This is caused by the web driver not being registered with the object container.
You might want to take a look at
this article; there is an example of registering an interface with the object container at the end. In short, the essential missing piece of your puzzle is:
objectContainer.RegisterInstanceAs<IMyInterface>(myClass);