Did you read the following section of the manual?
Auto-discovery doesn't work in website applications most of the time, so you should define Dependency Injection configuration settings in the web.config file as defined in the Manual discovery through dependencyInjectionInformation sections in the .config file below. You then also should specify the assemblies with the fullName attribute and the assembly's full name, instead of the file name like in the following example.
Example:
<assembly fullName="MyAuditorAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
This is necessary because the reference to the assembly with the Dependency Injection classes isn't there, as the pages are often compiled in separate assemblies. After deployment, it might be that the references are there, but that's not always the case. Better is to define this in the config file using the dependencyInjectionInformation section.
When the injectable types are defined inside the webapplication however, the auto-discovery works.
So, please try the following:
<dependencyInjectionInformation>
<additionalAssemblies>
<assembly fullName="THE_ASSEMBLY_NAME, Version=1.0.3.4, Culture=neutral, PublicKeyToken=1b72b137335e31c3"/>
</additionalAssemblies>
</dependencyInjectionInformation>
In Visual Studio, the assembly name can be viewed and changed through the project's property pages dialog box
Also make sure you are using the correct version and PublicKeyToken.