C# 我得到一个错误,我错过了一个参考,但哪一个?
我在表单的顶部添加了C# 我得到一个错误,我错过了一个参考,但哪一个?,c#,.net,winforms,C#,.net,Winforms,我在表单的顶部添加了 using mshtml; IHTMLDocument2 doc = (IHTMLDocument2)webbrowser1.Document.DomDocument; IHTMLControlRange imgRange = (IHTMLControlRange)((HTMLBody)doc.body).createControlRange(); 错误发生在: (IHTMLControlRange)((HTMLBody)doc.body).cr
using mshtml;
IHTMLDocument2 doc = (IHTMLDocument2)webbrowser1.Document.DomDocument;
IHTMLControlRange imgRange = (IHTMLControlRange)((HTMLBody)doc.body).createControlRange();
错误发生在:
(IHTMLControlRange)((HTMLBody)doc.body).createControlRange();
错误3找不到编译动态表达式所需的一个或多个类型。是否缺少引用?请记住,只需使用mshtml添加语句;考虑到所有使用的类型都属于mshtml dll,因此不会引入引用的dll。您还需要将dll的引用添加到项目引用文件夹中
请确保已完成此操作。您需要添加对Microsoft.mshtml程序集的引用。请按照以下步骤执行此操作: 项目→ 添加引用 转到左侧“部件”下的“扩展”选项卡 确保选中了Microsoft.mshtml旁边的复选框。 按OK。 现在一切都好了
您可能会在列出的程序集中看到多个Microsoft.mshtml条目。在这种情况下,请选择其中任何一种,最好是最新版本。IDE中是否有带下划线的类型?如果你用谷歌搜索类型名称,你应该会得到一个指向MSDN的链接,该链接会告诉你对象所在的程序集。解决方案是添加Microsoft.CSharp作为引用。一旦添加了这个dll,它就可以正常工作了。不知道我为什么需要它。我错过了这个错误,我也遇到了“Microsoft.CSharp.RuntimeBinder.Binder”没有定义或导入,一旦添加了CSharp dll,现在一切都好了。我是从这个目录添加的C:\Program Files x86\Microsoft.NET\Primary Interop Assemblys\Microsoft.mshtml.dll可能是错误的dll?在添加它之后,我使用mshtml进行了测试;但仍然出现此错误。是的,右键单击项目引用文件夹->添加引用->从.NET选项卡添加所需的dll。@FalconsMyman,它是COM dll吗?您是如何获得该dll的?@Rahul mshtml是.net framework的一部分。我只是试着添加它。它工作正常,代码也可以编译。想知道为什么它对op不起作用。@FalconsMyman,检查一下这篇文章,现在再次尝试同样的错误。在我从C:\Program Files x86\Microsoft.NET\Primary Interop Assemblys\Microsoft.mshtml.dll添加dll文件并收到错误之前,现在我按您所说的那样尝试,我看到一个Microsoft.mshtml.dll添加了它,但仍然是同一个错误。您是否尝试了上面的步骤?不要直接添加dll。使用参考加法器。类似于答案中的对话框。Farhan我也试过你的方法。我看到有一个Microsoft.mshtml添加了它,但仍然是相同的错误。@FalconsMyman我猜你忘了复选框。一定要检查过。只突出显示并按ok键不行