WatiN System.IO.FileNotFoundException Interop.SHDocVw
Я только что начал получать следующую ошибку при запуске тестов WatIn.
System.IO.FileNotFoundException: не удалось загрузить файл или сборку 'Interop.SHDocVw, Версия = 1.1.0.0, Культура = нейтральная, PublicKeyToken = db7cfd3acb5ad44e 'или одна из его зависимостей. система не может найти указанный файл.
Я искал в Интернете и пробовал следующие решения, ни одна из которых не работает.
Может ли кто-нибудь помочь?
Ответы
Ответ 1
Я всегда заканчиваю перекомпиляцию watin, поэтому он не подписан, так как я не мог заставить ни одно из предлагаемых решений работать.
Вы можете получить источник здесь: http://watin.org/
Откройте решение в папке \source\src (есть версии VS2008 и VS2010), откройте оба проекта и перейдите в свойства → Подписать, снимите флажок "Подписать сборку" и создайте решение.
Вы должны получить две библиотеки DLL в \source\src\Core\bin (WatiN.Core.dll и Interop.SHDocVw.dll) - просто скопируйте их в свой проект, и они должны работать нормально.
Ответ 2
Вы пробовали это:
Перейдите в проводник решений, щелкните по dll interop, в свойствах измените "Вставить типы Interop" в FALSE.
Лучше всего использовать аддон NuGet для студии .net, а затем добавить ссылку на wattin через "Добавить ссылку на библиотечный пакет".
Ответ 3
Установка свойства Interop.SHDocVw
, Microsoft.mshtml dlls Embed Interop Types
в False
;
Вне курса Visual Studio даст вам предупреждения о том, как скомпенсировать.
Ответ 4
У меня была эта проблема и обойти ее, вручную добавив Interop.ShDocVw.dll в выходной каталог.
Ответ 5
Вам нужен файл Interop.ShDocVw.dll, который должен был появиться с Watin, вам, возможно, придется добавить его в ваше визуальное студийное решение или в тот же каталог, что и Watin dll, если он еще не существует. В случае, если у вас есть это, убедитесь, что у вас есть правильная версия.
Ответ 6
Если вы используете TestTools Visual Studio, вы должны установить параметр DeploymentAttribute для решения этой проблемы.
Пример:
[DeploymentItem( @"your_path\Interop.SHDocVw.dll" )]
public class WatinTestSuite {
...
}
Ответ 7
В моем случае я попробовал все предлагаемые решения, и это не сработало. Я закончил закрытие и повторное открытие Visual Studio 2015 с правами администратора, а затем решение скомпилировалось успешно.
Надеюсь, это поможет кому-то.