提问人:Brian Ensink 提问时间:8/16/2008 更新时间:3/23/2022 访问量:3571
System.Xml 是否使用 MSXML?
Does System.Xml use MSXML?
问:
我正在开发一个 C# 应用程序,它使用一些 XML 文件和 System.Xml 中的一些类。一位同事坚持将 MSXML6 可再发行组件与 .NET 框架一起添加到我们的安装中,但我认为 .NET 框架无论如何都不会使用或需要 MSXML。我很清楚不支持从 .NET 使用 MSXML,但我认为 System.Xml 本身理论上可以在低级别包装 MSXML。我没有找到任何确定的 .NET 有自己的实现,但我也找不到任何表明它需要 MSXML 的东西。
帮我解决这场辩论。System.Xml 是否使用 MSXML?
答:
System.Xml 不使用 MSXML6。它们是独立的 xml 处理引擎。请参阅此处的帖子:MSXML 6.0 与 System.Xml:架构处理差异
我认为某些 MsSql-XML 功能需要它,但 System.Xml 位于核心框架中。
无论如何,您都应该在新机器上测试您的安装程序,以确保万无一失。
没有必要让这种东西成为繁琐的工作场所辩论的主题,因为框架的源代码是可用的,而且只需极少量的工作,你就可以将全部下载到你的机器上。http://www.codeplex.com/NetMassDownloader
再做一点工作,你就可以制作一个包含所有框架源代码的 VS 项目,这使得它更容易浏览。
System.Xml 位于核心框架中,不依赖于 MSXML 6.0,但它共享一些通用 API(DOM 分析器、SAX 分析器、XPath 节点选择)。
.Net Framework 使用 MSXML6 在 WinXP SP2 和 W2K3 SP2 上进行安装,前提是 MSXML6 不在框中。System.Xml 是 MSXML6 的不同产品,尽管某些 API 具有相似的签名。
评论