Конфликт версий с Castle.Core при использовании White и NHibernate - PullRequest
1 голос
/ 17 ноября 2011

Я обнаружил проблему, пытаясь добавить функциональность White в нашу среду тестирования на основе Selenium WebDriver.После добавления всех ссылок на проект, он компилируется без ошибок.Но он выдает исключение при использовании метода Application.GetWindow (windowTitle):

Application application = Application.Attach(processID);
Window downloadWindow = application.GetWindow(windowTitle);

ex.Message = "Не удалось загрузить файл или сборку" Castle.Core, Версия = 1.2.0.0, Культура = нейтральная,PublicKeyToken = 407dd0808d44fbdc 'или одной из ее зависимостей. Определение манифеста обнаруженной сборки не совпадает со ссылкой на сборку. (Исключение из HRESULT: 0x80131040) "

Я скачал последнюю версию Castle.Core, но проблема остается.Поэтому я удаляю ссылки на последнюю версию Castle.Core и добавляю ссылки с NuGet в Castle.DynamicProxy и Castle.Core 1.2.0 (эту версию я использовал для отдельных тестов, и они работают).Но с устаревшими версиями Castle.Core есть проблема с NHibernate.Это не работает.

Есть ли какие-либо решения для такой проблемы?

1 Ответ

1 голос
/ 17 ноября 2011

Может быть, вы можете добавить привязку сборки в ваш 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...