这个问题的基础来源于此教程support.microsoft.com: http://support.microsoft.com/kb/176792如何使用vbc命令行编译器(无IDE)引用COM库像shdocvw?
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'未定义。
我已经成功地使用了其他语言如vbscript和autohotkey的shdocvw.dll和AKA Shell.Application,但是我目前对VB.NET的了解太少,无法知道我是否做错了,不可能。
作为参考,有一个构建窗口显示IDE运行的命令。将引用添加到VS中的项目,构建,并查看它生成的命令行的外观。 :P – cHao 2013-02-26 20:58:46
其中,“/链接”到Interop.SHDocVw.dll,这是我在上面提到的一些魔术:)我不会有这个DLL只在我的.vb源文件夹的裸文件夹中,在只有命令行的情况下。 – amonroejj 2013-02-26 21:43:40