我想使用mshtml.dll 9.0版的一些新功能,如IHTMLCSSRule.
以下文件夹中的互操作版本是版本7.0.3300.1:
C:\ Program Files\Microsoft.NET\Primary Interop Assemblies\Microsoft.mshtml.dll
以下文件夹中的COM版本是版本9.0.8112.16441:
C:\ WINDOWS\SYSTEM32\Mshtml.dll中
从我可以从网上确定,我应该这样做来创建一个.NET互操作版本9:
d:\ zTemp> tlbimp mshtml.tlb /out:Microsoft.mshtml.dll/namespace:mshtml/asmversi on:9.0
这似乎有效,但产生了以下警告:
TlbImp:警告TI3001:主互操作程序集'Microsoft.mshtml,Version = 7.0.3300.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'已经注册了类型库'C:\ Windows\system32\mshtml.tlb'.TLBIMP
:警告TI3016:类型库导入程序无法转换成员'mshtml._userBITMAP.pBuffer'的签名.TlbImp:
警告TI3016:类型库导入程序无法转换成员'mshtml._FLAGGED_BYTE_BLOB.abData'的签名.TlbImp:
警告TI3015:运行时封送程序无法对"mshtml.ICanvasPixel ArrayData.GetBufferPointer"中的至少一个参数进行封送处理.因此,这些参数将作为指针传递,并且可能需要不安全的代码来进行操作.TlbImp:导入到d:\ zTemp\Microsoft.mshtml.dll的类型库
这些警告可以安全地被忽略吗?
这个DLL的预编译版本是否可以从microsoft站点下载?
我可以用我的应用程序分发这个dll吗?
将dll的引用添加到.NET 3.5项目时,我收到以下警告:
'Microsoft.mshtml.dll'或其依赖项之一需要.Net Framework的更高版本而不是项目中指定的版本...
既然这是一个警告,让我以任何方式添加引用,我仍然可以使用.NET 3.5中的.dll的某些功能吗?
谢谢