使用MVCContrib的WindsorControllerFactory和新的Windsor Castle 2.0

时间:2009-05-14 18:22:28

标签: asp.net-mvc castle-windsor mvccontrib

我正在尝试使用WindsorControllerFactory(最新的1.0.0.916版本)和新的Windsor Castle 2.0(同样是最新版本)。但是我得到了

  

无法加载文件或程序集   'Castle.Windsor,Version = 1.0.3.0 ......

启动Web应用程序时出现

错误。无论如何,在写这个问题的过程中,我设法通过将这个块添加到Web.config文件来说服Web应用程序绑定到新的Castle的dll:

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Castle.Windsor" culture="neutral" publicKeyToken="407dd0808d44fbdc"/>
        <bindingRedirect oldVersion="1.0.3.0" newVersion="2.0.0.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Castle.Core" culture="neutral" publicKeyToken="407dd0808d44fbdc"/>
        <bindingRedirect oldVersion="1.0.3.0" newVersion="1.1.0.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Castle.MicroKernel" culture="neutral" publicKeyToken="407dd0808d44fbdc"/>
        <bindingRedirect oldVersion="1.0.3.0" newVersion="2.0.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

所以我想我回答了自己的问题,但是我想与任何有同样问题的人分享这个问题。或者有更好的方法(除了自己编译MVCContrib资源)?

2 个答案:

答案 0 :(得分:0)

我也想自己建立MvcContrib,并将其源代码与我们的项目代码一起使用。

答案 1 :(得分:0)

我们使用相同的方法。最后一个可用的MvcContrib(v.2.0.96.0)存在一个问题。它使用与最新版本的Castel.Windsor(2.5.1.0)不兼容的Castel.Windsor v.2.1.0.0:AddComponentLifeStyle已过时。因此,您必须更改相关的MvcContrib代码。

顺便说一句,您可以在不重建的情况下签署MvcContrib dll,例如使用此工具:http://signer.codeplex.com/