This can happen if Elmah was manually added before and the assembly binding in web.config refers to a specific version:
It -
<modules> <add name="ErrorMail" preCondition="managedHandler" type="Elmah.ErrorMailModule, Elmah-1.1"/> <add name="ErrorLog" preCondition="managedHandler" type="Elmah.ErrorLogModule, Elmah-1.1"/> <add name="ErrorFilter" preCondition="managedHandler" type="Elmah.ErrorFilterModule, Elmah-1.1"/> </modules>
It must be -
<modules runAllManagedModulesForAllRequests="true"> <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" /> <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" /> <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" /> </modules>
source share