我在使用.NET项目中引用的mshtml.dll
时遇到了类似的问题,但与此特定情况无关。我怀疑这个问题可能与这个线程(.net document write with mshtml)中关于在我的案例中缺少所有相关属性/属性的coclass的内容有一些关系。这里的细节是我在解析mshtml.HTMLInputElement
对象时使用WebBrowser.Document
及其一组属性/属性:
if (domElement is HTMLInputElement)
{
HTMLInputElement inputElement = (HTMLInputElement)domElement;
if (inputElement.name == null || inputElement.name.Trim() == string.Empty ||
inputElement.name.Contains("/") || inputElement.name.Contains("="))
{
...
}
}
以上在开发PC(VS2008 3.5 SP1)下工作正常,除了name
属性之外,其他一些也被称为type
等成功,但是当应用程序安装在Windows 7具有所有必需的框架部分,我得到COMException
:
==============
System.Runtime.InteropServices.COMException越过了本机/托管 边界消息=未找到成员。 (HRESULT的例外情况: 0x80020003(DISP_E_MEMBERNOTFOUND))来源= mscorlib
ErrorCode = -2147352573 StackTrace: 在System.RuntimeType.ForwardCallToInvokeMember(String memberName,BindingFlags flags,Object target,Int32 [] aWrapperTypes, MessageData&安培; MSGDATA) 在mshtml.DispHTMLInputElement.get_name()
======================
对name
,type
等属性的调用现在都无法正常工作。始终相同的Interop.COMException
被抛出。听起来像.net document write with mshtml中解释的同样问题。
有谁知道这个问题的有效解决方法?