有没有其他人在使用Sitecore 7.x和Solr 4.7与Glass Mapper 3.3一起工作时遇到问题?似乎Glass Mapper使用Castle Windsor IOC容器。并且Sitecore建议使用Castle Windsor IOC容器进行Solr。
根据Sitecore,他们告诉我应该使用Solr 4.7,我应该使用Castle.core.dll和Castle.Windsor.dll 3.1版。但是看起来Glass Mapper 3.3需要版本3.2+的Castle.Core.dll。
我认为我不是唯一遇到此问题的人。但我在网上找不到任何关于它的内容。
答案 0 :(得分:5)
要详细说明Phil Degenhardt的评论,您可以使用binding redirect configuration将两个引用解析为同一个程序集。基本上,您需要设置一系列指向同一程序集的版本:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Castle.Windsor"
publicKeyToken="xxxxxxxxxxxxxxx"
culture="neutral" />
<bindingRedirect oldVersion="3.1.0.0 - 3.1.9.0"
newVersion="3.2.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
你也可以使用probing将这两个程序集版本并排放置,通过这样设置:
<dependentAssembly>
<assemblyIdentity name="Castle.Windsor" publicKeyToken="xxxxxxxxxxxxx" />
<codeBase version="3.1.0.0" href="v31/Castle.Windsor.dll"/>
<codeBase version="3.2.0.0" href="v32/Castle.Windsor.dll"/>
</dependentAssembly>
如果程序集的公共部分发生更改,则第二个选项很有用,重定向在您的情况下可能更有用。