I am trying to upgrade from NHibernate 2.1.2 to NHibernate 3.1.
Many of my test cases are throwing the following exception when the
session is flushed:
System.NotSupportedException : The invoked member is not supported in
a dynamic assembly
at
System.Reflection.Emit.InternalAssemblyBuilder.GetManifestResourceStream(St ring
name) at
NHibernate.Validator.Cfg.XmlMappingLoader.AddResource(Assembly
assembly, String resource) at
NHibernate.Validator.Cfg.XmlMappingLoader.GetXmlMappingFor(Type type)
at
NHibernate.Validator.Engine.JITClassMappingFactory.GetExternalDefinitionFor (Type
type) at
NHibernate.Validator.Engine.JITClassMappingFactory.GetClassMapping(Type
clazz, ValidatorMode mode) at
NHibernate.Validator.Engine.ClassValidator.InitValidator(Type clazz,
IDictionary`2 nestedClassValidators) at
NHibernate.Validator.Engine.ClassValidator..ctor(Type clazz,
IConstraintValidatorFactory constraintValidatorFactory, IDictionary`2
childClassValidators, IClassValidatorFactory factory) at
NHibernate.Validator.Engine.StateFullClassValidatorFactory.GetRootValidator (Type
type) at
NHibernate.Validator.Engine.ValidatorEngine.GetClassValidator(Type
entityType) at
NHibernate.Validator.Engine.ValidatorEngine.GetElementOrNew(Type
entityType) at
NHibernate.Validator.Engine.ValidatorEngine.InternalValidate(Object
entity, Object[] activeTags) at
NHibernate.Validator.Engine.ValidatorEngine.Validate(Object entity,
Object[] activeTags) at
NHibernate.Validator.Event.ValidateEventListener.Validate(Object
entity, EntityMode mode) at
NHibernate.Validator.Event.ValidatePreUpdateEventListener.OnPreUpdate(PreUp dateEvent
event) at NHibernate.Action.EntityUpdateAction.PreUpdate() in d:\CSharp
\NH\NH\nhibernate\src\NHibernate\Action\EntityUpdateAction.cs: line
200 at NHibernate.Action.EntityUpdateAction.Execute() in d:\CSharp\NH
\NH\nhibernate\src\NHibernate\Action\EntityUpdateAction.cs: line 58 at
NHibernate.Engine.ActionQueue.Execute(IExecutable executable) in d:
\CSharp\NH\NH\nhibernate\src\NHibernate\Engine\ActionQueue.cs: line
136 at NHibernate.Engine.ActionQueue.ExecuteActions(IList list) in d:
\CSharp\NH\NH\nhibernate\src\NHibernate\Engine\ActionQueue.cs: line
126 at NHibernate.Engine.ActionQueue.ExecuteActions() in d:\CSharp\NH
\NH\nhibernate\src\NHibernate\Engine\ActionQueue.cs: line 170 at
NHibernate.Event.Default.AbstractFlushingEventListener.PerformExecutions(IE ventSource
session) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Event\Default
\AbstractFlushingEventListener.cs: line 241 at
NHibernate.Event.Default.DefaultFlushEventListener.OnFlush(FlushEvent
event) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Event\Default
\DefaultFlushEventListener.cs: line 19 at
NHibernate.Impl.SessionImpl.Flush() in d:\CSharp\NH\NH\nhibernate\src
\NHibernate\Impl\SessionImpl.cs: line 1472 at
TestDataAccess.FooTest.TestFoo() in FooTest.cs
More info: The problem goes away if I switch to LinFu
ProxyFactoryFactory rather than Castle. However LinFu, gives me other
problems, so I would prefer to use Castle.