1

我是 .net 开发人员,我正在尝试为 MSHTML v9 编译 .tbl 和 .dll 以在我的 .net 应用程序中使用。

我找到了以下构建 MSHTML v8 .dll 的说明:

start menu -> Windows SDK 7.1 Command Prompt 

cd c:\temp
midl "C:\Program Files (x86)\Microsoft SDKs\Internet Explorer\v8\include\mshtml.idl"
tlbimp mshtml.tlb /out:Microsoft.mshtml.dll /namespace:mshtml /asmversion:8.0

以上对MSHTML v8非常有用,但是当我尝试使用MSHTML v9做同样的事情时,我在尝试运行时收到 100 个“错误 MIDL 2035:预期的常量表达式”错误:

midl "C:\Program Files (x86)\Microsoft SDKs\Internet Explorer\v9\include\mshtml.idl"

关于为什么 MSHTML v9 无法构建的任何线索?我认为它一定是我的环境,我正在运行 Windows 7 64x Ultimate 并安装了 VS2010 Ultimate 并安装了 Windows SDK 7.1。我的 PATH 变量中有以下相关路径:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin

非常感谢任何帮助,谢谢!:)

4

1 回答 1

0
#include <mshtmdid.h>
#include <mshtmcid.h>
#include <olectl.h>

mshtml.idl 的前几行。mshtmdid.h 头文件定义常量。此文件也存在于 Windows SDK 包含文件夹中,但这是旧版本。您需要更正 INCLUDE 环境变量,使其首先在 Internet Explorer\v9\include 目录中查找。使用 SET INCLUDE。

于 2011-07-12T19:18:21.887 回答