我发现一个问题是尝试在我们基于Selenium WebDriver的测试框架中添加White功能。添加项目的所有引用后,它编译 没有错误。但是在使用方法时会引发异常 Application.GetWindow(WINDOWTITLE):
Application application = Application.Attach(processID);
Window downloadWindow = application.GetWindow(windowTitle);
ex.Message =“无法加载文件或程序集'Castle.Core,Version = 1.2.0.0,Culture = neutral,PublicKeyToken = 407dd0808d44fbdc'或其依赖项之一。 定位的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)“
我下载了最新版本的Castle.Core,但问题仍然存在。因此,我删除了对Castle.Core的最新版本的引用,并将NuGet的引用添加到Castle.DynamicProxy 和Castle.Core 1.2.0(这个版本我用于单独的测试,他们工作)。但是对于Castle.Core的过时版本,NHibernate存在问题。它不起作用。
对此类问题有任何决定吗?
答案 0 :(得分:1)
也许您可以在web.config(或app.config)中添加程序集绑定,以转发当前版本,以便在解析1.2.0.0时返回:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" />
<bindingRedirect oldVersion="1.2.0.0" newVersion="2.5.2.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
希望它们兼容。我不确定publicKeyToken是否相同,那是1.2.0.0中的那个,所以你应该改变它以反映我认为的2.5.2.0,或者它是否需要1.2.0.0令牌。