如何使用 vbc 命令行编译器(无 IDE)引用像 shdocvw 这样的 COM 库?

问题描述 投票:0回答:1

这个问题的基础来自support.microsoft.com上的本教程: http://support.microsoft.com/kb/176792

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 编译器复制的幕后魔法。

显然命令行编译器没有“添加引用”对话框。我天真地尝试添加:

/参考:“C:\windows\system32\shdocvw.dll”

到命令行,但这没有帮助。在这两种情况下,我得到:

错误 BC30002:未定义类型“SHDocVw.ShellWindows”。

错误 BC30002:未定义类型“SHDocVw.InternetExplorer”。

我已经成功使用了来自其他语言(如 vbscript 和 autohotkey)的 shdocvw.dll(AKA Shell.Application),但我目前对 VB.NET 的了解太少,不知道我是否只是做错了还是不可能。

command-line reference com vbc
1个回答
2
投票

您必须首先运行 Tlbimp.exe 实用程序。 该工具可从 shdocvw.dll 中嵌入的类型库生成互操作库,通常在 IDE 中添加引用时自动完成。 它会生成 interop.shdocvw.dll,您需要使用 /reference 选项传递该dll。

© www.soinside.com 2019 - 2024. All rights reserved.