Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net NHibernate和温莎议会冲突_.net_Nhibernate_Orm_Castle Windsor_Assembly Resolution - Fatal编程技术网

.net NHibernate和温莎议会冲突

.net NHibernate和温莎议会冲突,.net,nhibernate,orm,castle-windsor,assembly-resolution,.net,Nhibernate,Orm,Castle Windsor,Assembly Resolution,让Hibernate和Windsor一起工作我遇到了一个问题。我的设置详细信息如下 我有两个项目 -域模型 -MVCApp 我已经下载了NHibernate 2.1.2和Windsor 2.1.1 我从NHibernate下载所需的_Bins文件夹中添加了以下对DomainModel的引用-Antlr3、Iese、log4net和NHibernate 2.1.2.4 我还将DomainModel中的引用添加到文件中以进行延迟加载,包括 Castle.Core-1.1.0.0Castle.dy

让Hibernate和Windsor一起工作我遇到了一个问题。我的设置详细信息如下

我有两个项目
-域模型
-MVCApp

我已经下载了NHibernate 2.1.2和Windsor 2.1.1
我从NHibernate下载所需的_Bins文件夹中添加了以下对DomainModel的引用-
Antlr3、Iese、log4net和NHibernate 2.1.2.4
我还将DomainModel中的引用添加到文件中以进行延迟加载,包括

Castle.Core-1.1.0.0
Castle.dynamicProxy-2.1.0.0
NHibernate.ByteCode.Castle-2.1.2.4
MVCApp有以下参考:

Castle.Core-1.2.0.6623
Castle.Microkernel-2.1.0.6655
温莎城堡-2.1.0.6655
Castle.DynamicProxy 2-2.2.0.6628

运行应用程序时,我收到错误:

无法加载文件或程序集'Castle.dynamicProxy 2,版本=2.1.0.0,
调用程序集:NHibernate.ByteCode.Castle,版本=2.1.2.4000
MVC bin文件夹具有Castle.dynamicProxy 2-2.2.0.6628版本,因此请求旧版本后出现错误


我怎样才能让它工作呢?我遗漏了什么或包含了什么?请帮忙。。谢谢。

您可以获取NHibernate.ByteCode.Castle的源代码,并构建一个使用Castle.dynamicProxy 2.2.0.6628版本的版本。2.1.x分支位于svn中

程序集绑定重定向也可能起作用。由于Castle.DynamicProxy 2的2.1和2.2之间的API差异,此操作可能会失败。
还将更新MVCApp项目中的部件参照

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <dependentAssembly>
            <assemblyIdentity name="Castle.DynamicProxy2" publicKeyToken="407dd0808d44fbdc"/>
            <bindingRedirect oldVersion="2.1.0.0" newVersion="2.2.0.6628"/>
         </dependentAssembly>
      </assemblyBinding>
   </runtime>
</configuration>

您是从哪里获得NHibernate.ByteCode.Castle的

我相信ActiveRecord2.1将为DynamicProxy 2的最新稳定版本构建一个


否则,按照Lachlan Roche的建议执行。

我遇到了这个问题,您可能必须将项目属性的“应用程序”选项卡上的“目标框架”从“.NET framework 4客户端配置文件”更改为“.NET framework 4”

我也遇到了同样的问题……我解决了它。
当我开始使用NHibernate时,我选择Castle字节码提供程序并没有特定的原因

因为我不关心我实际使用的字节码提供程序,所以我只是将其更改(在我的例子中是NHibernate.Bytecode.LinFu)。

因此,NHibernate不再需要任何对Castle的引用,我可以使用我想要的任何版本的Windsor。

从NHibernate-2.1.2.GA-bin sourceforge.net下载。。感谢ActiveRecord选项。从AR抓取NHibernate字节码提供程序是您目前最好的选择,因为NHibernate团队不提供DynamicProxy 2.2的更新下载