Вторая ошибка вызывает первую. Откройте узел References проекта, выберите SHDocVw. В окне «Свойства» измените «Вставить типы взаимодействия» на false. Вам нужно будет развернуть сборку Interop.SHDocVw.dll, в которой вы найдете выходной каталог сборки вместе с вашей программой.
РЕДАКТИРОВАТЬ: после исследования этой ошибки, я нашел лучший способ сделать это. Проблема в том, что могут быть встроены только типы интерфейса COM , а не classes . Поэтому избегайте использования в своем коде синтетических XxxxClass оберток. Вместо этого сделайте так:
foreach (InternetExplorer ie in new ShellWindows()) {
//...
}
Что выглядит странно, вы не можете обычно использовать оператор new для типа интерфейса на языке C #. Но на самом деле поддерживается для интерфейсов COM.