Я использовал S # arp и обновил метод Generate
в AutoPersistenceModelGenerator
для работы с Fluent NHibernate 1.1. Я также изменил свое имя сборки из MyProject.Data в MyProject.Infrastructure и я не уверен, вызвавший проблему:Метод «Генерировать» в типе xxx не имеет реализации - S # arp - ОБНОВЛЕНО
public AutoPersistenceModel Generate()
{
return AutoMap.Assemblies(new myProjectMappingConfiguration(),
typeof (MyClass).Assembly)
.Conventions.Setup(GetConventions())
.IgnoreBase<Entity>()
.IgnoreBase(typeof (EntityWithTypedId<>))
.UseOverridesFromAssemblyOf<AutoPersistenceModelGenerator>();
}
В момент, Виндзорский замок регистрирует сборку, содержащую указанный выше способ ...
container.Register(
AllTypes.Pick()
.FromAssemblyNamed("MyProject.Infrastructure")
.WithService.FirstNonGenericCoreInterface("MyProject.Core"));
... он бросает это исключение:
Метод 'Generate' в типе 'MyProject.Infrastructure.NHibernateMaps.AutoPersistenceModelGenerator' из сборки «MyProject.Infrastructure, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null 'не имеет реализации.
Я полностью очистил проект и перестроил его, но ошибка продолжает происходить.
Я не знаю, если это имеет значение, но описанный выше метод фактически вызывается непосредственно в Global.asax:
private void InitializeNHibernateSession()
{
var cfg = NHibernateSession.Init(
webSessionStorage,
new string[] { Server.MapPath("~/bin/MyProject.Infrastructure.dll") },
new AutoPersistenceModelGenerator().Generate(),
Server.MapPath("~/NHibernate.config"));
}
Я попытался удалить регистрацию МОК, но та же ошибка, затем бросили на этот метод:
public void Initialize(Action initMethod)
{
if (!this.NHibernateSessionIsLoaded)
{
lock (syncLock)
{
if (!this.NHibernateSessionIsLoaded)
{
initMethod();
this.NHibernateSessionIsLoaded = true;
}
}
}
}
UPDATE
Я воссоздал свой проект и повторяет тот же процесс снова - ошибка возникает, когда я обновляю Fluent NHibernate от 1.0 до 1.1. Любые идеи почему?
Вы уверены, что вы не загружаете более раннюю версию сборки - возможно, из GAC? См. Http://stackoverflow.com/questions/948785/typeloadexception-says-no-implementation-but-it-is-implemented – PatrickSteele