2

在我们的 .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 越过了本机/托管边界 Message=Member not found。(来自 HRESULT 的异常:0x80020003 (DISP_E_MEMBERNOTFOUND))Source=mscorlib
ErrorCode=-2147352573 StackTrace:在 System.RuntimeType.ForwardCallToInvokeMember(字符串成员名称,BindingFlags 标志,对象目标,Int32 [] aWrapperTypes,MessageData 和 msgData)在 mshtml.DispHTMLInputElement.get_name( )

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

name对,等属性的调用type现在都不起作用。总是一样Interop.COMException的被抛出。在我看来,这与使用 mshtml 编写的 .net 文档中解释的问题相同。

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

4

0 回答 0