【发布时间】:2016-05-03 14:16:25
【问题描述】:
最近由于以下错误,我无法在工作中构建我的项目:
找不到与嵌入类型匹配的互操作类型 'DOM 文档'。您是否缺少程序集参考?
老实说,我不太确定如何处理该错误,也无法找出问题所在。它给了我导致原因的文件,顶部有这些导入语句:
Imports X.Online.Core
Imports X.Online.Connectivity
Imports X.Online.Classes
Imports Microsoft.VisualBasic
Imports System.ComponentModel
Imports System.Web
Imports X.Asp.Classes
Imports X.Asp.Core
Imports X.Asp.SiteSpecific
Imports MSXML2
Imports X.Online.State
Imports Elmah
据我所知,我似乎遗漏了一些东西,我看了看,起初我认为它是一个丢失的 MSXML2,但它在我的参考资料中显示为“Interop.MSXML2”所以现在我不确定这是问题所在。我应该补充一点,这个问题是在从 Windows 7 升级到 Windows 10 后出现的。
我还尝试修复我的 .net 4 安装。
如果有人能就如何解决此错误提供一些建议,我将不胜感激!
【问题讨论】:
-
MSXML2 是一个 COM 类型库。由于“嵌入互操作类型”程序集属性,它的互操作库将自动嵌入,因此您在运行时不需要 Interop.MSXML2.dll 文件。如果它嵌入到一个项目中而不是另一个项目中,您将收到此错误。查看项目中的程序集引用并确保该属性始终设置为 True。
-
感谢您的回复。所以我认为 DOMDocument 指的是 MSXML2 导入是正确的?
-
@HansPassant 感谢您的回复。我检查了项目,其中一个被列为“Microsoft XML,v6.0”,在另一个项目中被列为“Interop.MSXML2”。这可能是问题的原因吗?它们都设置为“True”。