ActiveWriter和NHibernate:无法生成

时间:2009-07-16 18:50:10

标签: nhibernate

我正在尝试使用ActiveRecord生成NHibernate映射。我可以通过定位ActiveRecord从图中创建类,但每当我定位NHibernate时,我都会收到以下错误:

错误1正在运行转换:System.Reflection.TargetInvocationException:调用目标已抛出异常。 ---> System.IO.FileNotFoundException:无法加载文件或程序集'NHibernate,Version = 1.2.0.4000,Culture = neutral,PublicKeyToken = aa95f207798dfdb4'或其依赖项之一。该系统找不到指定的文件。 文件名:'NHibernate,Version = 1.2.0.4000,Culture = neutral,PublicKeyToken = aa95f207798dfdb4'    在Castle.ActiveRecord.ActiveRecordStarter.SetUpConfiguration(IConfigurationSource source,Type type,ISessionFactoryHolder holder)    在Castle.ActiveRecord.ActiveRecordStarter.Initialize(IConfigurationSource source,Type [] types)    在Castle.ActiveRecord.ActiveRecordStarter.Initialize(Assembly assembly,IConfigurationSource source)

警告:装配绑定日志记录已关闭。 要启用程序集绑定失败日志记录,请将注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog](DWORD)设置为1。 注意:程序集绑定失败日志记录会导致一些性能损失。 要关闭此功能,请删除注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog]。

我正在引用NHibernate DLL,但它是版本2.0.1.4000。我在web.config中添加了以下内容: <dependentAssembly> <assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" culture="neutral"/> <bindingRedirect oldVersion="1.0.0.0-1.2.0.4000" newVersion="2.0.1.4000"/> </dependentAssembly>

但它仍然试图抓住旧的NHibernate DLL。使用新的NHibernate还有其他必须做的事吗?

1 个答案:

答案 0 :(得分:1)

我最终废弃了使用更新的NHibernate版本的想法,并将Castle项目中的所有外部dll解压缩到Castle项目的bin目录中。设置完之后,我就能够生成NHibernate映射。