System.Xml 是不是使用 MSXML?

Posted

技术标签:

【中文标题】System.Xml 是不是使用 MSXML?【英文标题】:Does System.Xml use MSXML?System.Xml 是否使用 MSXML? 【发布时间】:2010-09-05 23:17:12 【问题描述】:

我正在开发一个使用少量 XML 文件和 System.Xml 中的一些类的 C# 应用程序。一位同事坚持将 MSXML6 可再发行组件与 .NET 框架一起添加到我们的安装中,但我认为 .NET 框架无论如何都不会使用或需要 MSXML。我很清楚不支持使用 .NET 中的 MSXML,但我认为 System.Xml 本身在理论上可以将 MSXML 包装在低级别。我还没有找到任何明确的 .NET 有自己的实现,但我也找不到任何表明它需要 MSXML 的东西。

帮我解决争论。 System.Xml 是否使用 MSXML?

【问题讨论】:

【参考方案1】:

.Net 框架使用 MSXML6 安装在 WinXP SP2 和 W2K3 SP2 上,仅当 MSXML6 不在框中。 System.Xml 是与 MSXML6 不同的产品,尽管某些 API 具有相似的签名。

【讨论】:

【参考方案2】:

System.Xml 位于核心框架中,不依赖于 MSXML 6.0,但它共享一些通用 API(DOM 解析器、SAX 解析器、XPath 节点选择)。

【讨论】:

【参考方案3】:

这类东西没有必要成为繁琐的工作场所辩论的主题,因为框架的源代码是可用的,并且只需少量的工作,您就可以将全部内容下载到您的机器上。 http://www.codeplex.com/NetMassDownloader

再做一点点工作,你就可以制作一个包含所有框架源代码的 VS 项目,这样更容易浏览。

【讨论】:

【参考方案4】:

我认为某些 MsSql-XML 功能需要它,但 System.Xml 在核心框架中。

无论如何,您都应该在新机器上测试您的安装程序,以确保安全。

【讨论】:

【参考方案5】:

System.Xml 不使用 MSXML6。它们是独立的 xml 处理引擎。请参阅此处的帖子:http://blogs.msdn.com/stan_kitsis/archive/2005/09/20/472185.aspx

【讨论】:

以上是关于System.Xml 是不是使用 MSXML?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 XNode 在 System.XML.Linq 命名空间而不是 System.XML?

错误 C2011:“MSXML2::IXMLDOMImplementation”:“struct”类型重新定义

一个vc中使用msxml的问题

msxml4.0是啥软件

我应该使用哪个版本的 MSXML?

如何使用MSXML3 SP7