使用不同的参考版本

时间:2014-02-20 10:15:57

标签: c# lucene.net umbraco6

我的解决方案中有两个使用Lucene.Net的项目。项目A参考了Umbraco和Lucene.Net版本2.9.4.1,项目B参考了Lucene版本3.0.3.0。我想使用3.0.3.0但我无法将项目A升级到3.0.3.0,因为Umbraco使用的是旧版本。

编译时我收到此错误:

Assembly 'B, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' uses 'Lucene.Net, Version=3.0.3.0, Culture=neutral, PublicKeyToken=85089178b9ac3181' which has a higher version than referenced assembly 'Lucene.Net, Version=2.9.4.1, Culture=neutral, PublicKeyToken=85089178b9ac3181' A

我尝试了extern别名,但仍然遇到同样的错误。

是否有可能在每个项目中编译并拥有不同版本的Lucene.Net?

更新

我也试过直接添加bindingRedirect但是之后得到了同样的错误。

<dependentAssembly>
        <assemblyIdentity name="Lucene.Net" publicKeyToken="85089178b9ac3181" />
        <bindingRedirect oldVersion="0.0.0.0-2.9.4.1" newVersion="2.9.4.1" />
        <bindingRedirect oldVersion="3.0.3.0-3.0.3.0" newVersion="3.0.3.0" />
      </dependentAssembly>

如果我理解这一点,bindingRedirect会告诉所有项目使用相同的版本。我希望旧版本仍然在项目A中使用,而新版本将在项目B中使用。

0 个答案:

没有答案