Thanks for sharing your solution, Bart.
Here are a few notes to complement your post:
> - Install the dll in the GAC: gacutil -i elmah.dll
GACUTIL is an SDK tool so just bear in mind that it will not be available on most production systems where only the .NET Framework runtime will be installed. The officially MS-support way to get a signed assembly into the GAC is via an installer like MSI. The unofficial way in production without GACUTIL would be to open %SystemRoot%\assembly in Windows Explorer and then dragging and dropping the ELMAH assembly into it.
> - Add the following line to the <assemblies> section:
> <add assembly="Elmah, Version=1.0.10617.0, Culture=neutral,
> PublicKeyToken=2639751d020a1974"/>
This step is unnecessary and only works for
ASP.NET 2.0 or later. It also only work for code that internally calls
ASP.NET's BuildManager.GetType instead of Type.GetType from the system. For sake of compatibility across all .NET Framework versions, ELMAH, for example, uses Type.GetType and not BuildManager.GetType.
> - Add the following line to the <httpHandlers> section,
> <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory"/>
Given the public key token you mentioned, this line should read:
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah, Version=1.0.10617.0, Culture=neutral, PublicKeyToken=2639751d020a1974"/>
Make sure the value of the type attribute is not "wrapped". It should be on one line without any CR/LF that e-mail systems may add in re-formatting this message. The .NET Framework is very particular about that.
> - Add the following line to the <httpModules> section:
> <add name="ErrorLog" type="Elmah.ErrorLogModule"/>
Given the public key token you mentioned above, this line should read:
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah, Version=1.0.10617.0, Culture=neutral, PublicKeyToken=2639751d020a1974"/>
Again, make sure the value of the type attribute is not "wrapped".
If you mention the strong name of the assembly as part of each type then the entry in the <assemblies> section is not needed. Yes, it makes the type name very long and ugly but I didn't invent the system. :)
> (The PublicKeyToken may be different on your pc, not sure about that
> (can anyone comment on this?)
The public key token will be different for everyone who generate a new one via Visual Studio or SN.EXE (Strong Name Utility).
Hope this helps,
- Atif