I think I was in the same situation of realien... and i finally solved the problem :)
My application is hosted in a shared server and those ones generally don't allow applications that require a full trust security policy to work.
If you're in that situation first get the last distribution of log4net (i used 1.2.9), copy the DLL file into the sources of nhibernate and recompile it. To do this you should know the basics of nant build file. As a tip: Always type "nant clean build" to be sure the bin folder is empty for the build.
After this you must throw away the HashCodeProvider class that is included and written in inline assembler. Delete the entry in the build file that copies the HashCodeProvider.dll and license to the bin folder, and create an entry to compile your own implementation of the HashCodeProvider...
My class (that works):
Code:
using System;
using System.Collections;
namespace CentralMedia.Common {
public class IdentityHashCodeProvider : IHashCodeProvider {
public int GetHashCode(Object objeto) {
return objeto.GetHashCode();
}
}
}
After this you gotta make a build file, type an entry into de NHibernate build file to reference your namespace and modify the NHibernateSolution build file to copy your DLL.
Im not pretty sure that my implementation of the IHashCodeProvider is the best one, but ive test it for a week and works.
I know this explanation sound a little confusing, im a mexican guy and my english is not perfect. if you have worked with nant (or ant ;)) this shouldnt be so difficult.
Anyway if someone need further details or my build of NHibernate just mail me (
victor@hartoingenio.com).
C ya
Victor