I try to avoid the GAC at all costs. I prefer xcopy deployments
of applications. However, if you use some projects that all
reference log4net, then you know the pain of trying to resolve log4net
versions. More often than not, it’s not feasible to recompile
every project you depend on. If you need to reference two
libraries that each then reference different versions of log4net, you
have a tough problem because only one file named “log4net.dll” can be
copied to the /bin directory.
log4net is a strong-named assembly, so version information is a part of
finding the assembly. In this case, I had to resort to putting
two versions in the GAC. As much as I hated doing so, it seemed
like the only way out.
gacutil /i log4net.dll (x2)