В основе этого вопроса исходит из этого учебника по support.microsoft.com: http://support.microsoft.com/kb/176792Как ссылаться на COM lib как shdocvw с помощью компилятора командной строки vbc (без IDE)?
To run the following code, it is necessary to add a reference to
"Microsoft Internet Controls" (Shdocvw.dll) and "Microsoft HTML Object
Library" (Mshtml.dll) to the Visual Basic project:
Dim SWs As New SHDocVw.ShellWindows
Dim IE As SHDocVw.InternetExplorer
Это прекрасно работает в Visual Studio 2010, но это, кажется, полагаться на какой-то закулисный магии, что я не может дублировать использование компилятора прямой командной строки vbc.
Очевидно, что нет диалогового окна «Добавить ссылку» для компилятора командной строки. Я наивно попытался добавить:
/reference:"C:\windows\system32\shdocvw.dll»
в командной строке, но это не помогло. В обоих случаях я получаю:
ошибка BC30002: Тип «SHDocVw.ShellWindows» не определен.
ошибка BC30002: Тип «SHDocVw.InternetExplorer» не определен.
Я успешно использовал shdocvw.dll, AKA Shell.Application, с других языков, таких как vbscript и autohotkey, но в настоящее время у меня слишком мало понимания VB.NET, чтобы узнать, делаю ли я это неправильно или это невозможно.
Для справки, есть окно сборки, которое показывает команды, которые запускает IDE. Добавьте ссылки на проект в VS, постройте и посмотрите, как выглядит созданная им командная строка. : P – cHao
Между прочим, это «/ link» s to Interop.SHDocVw.dll, которое является частью волшебства, о котором я говорил выше :) У меня не было бы этой DLL в голой папке с моим источником .vb, в сценарии только для командной строки. – amonroejj