Как скомпилировать .dll для MSHTML v9.В настоящее время я получаю сотни ошибок "MIDL 2035: ожидается постоянное выражение" - PullRequest
1 голос
/ 12 июля 2011

Я - разработчик .net и пытаюсь скомпилировать .tbl и .dll для MSHTML v9 для использования в моих приложениях .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

Любая помощь приветствуется, спасибо!:)

1 Ответ

0 голосов
/ 12 июля 2011
#include <mshtmdid.h>
#include <mshtmcid.h>
#include <olectl.h>

Первая пара строк из mshtml.idl.Заголовочный файл mshtmdid.h определяет константы.Этот файл также присутствует в папке включения Windows SDK, но это старая версия.Вам нужно исправить переменную среды INCLUDE, чтобы она сначала смотрела в каталоге Internet Explorer \ v9 \ include.Используйте SET INCLUDE.

...