0

我的解决方案中有 2 个项目。

一种使用Autofac 3.5.2,另一种被使用Autofac.Extras.DynamicProxy2 for interception (Autofac 3.3.1). 一个 withAutofac 3.3.1的项目引用与一个 with Autofac 3.5.2。尝试dll在我的解决方案中运行不同版本失败,而升级3.3.1 to 3.5.2跳过拦截器逻辑。

我想运行拦截,Autofac 3.5.2因为我在我开发的许多其他项目中使用 3.5.2。

有人成功解决了这个问题吗?

谢谢

我得到的错误是: Error 5 Assembly ' , Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' uses 'Autofac, Version=3.5.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da' 它的版本比引用的更高程序集'Autofac,版本 = 3.3.0.0,文化 = 中性,PublicKeyToken = 17863af14b0044da'

4

1 回答 1

0

您必须使用assemblyBinding

<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" 
                          culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-3.5.0.0" newVersion="3.5.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
于 2015-04-19T19:49:07.730 回答