2

我正在尝试将WindsorControllerFactory(最新的 1.0.0.916 版本)与新的 Windsor Castle 2.0(再次,最新版本)一起使用。但我得到了

无法加载文件或程序集'Castle.Windsor,版本 = 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 源)?

4

2 回答 2

0

我也想自己构建 MvcContrib,并将其源代码与我们的项目代码放在一起。

于 2009-07-22T02:36:15.343 回答
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/

于 2010-11-30T11:39:42.867 回答