mshtml.HTMLInputElement.name COMException

时间:2013-02-11 22:57:34

标签: .net dom comexception

我在使用.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()

======================

nametype等属性的调用现在都无法正常工作。始终相同的Interop.COMException被抛出。听起来像.net document write with mshtml中解释的同样问题。

有谁知道这个问题的有效解决方法?

0 个答案:

没有答案