即使我引用了System.XML,也找不到XmlDocument类型?

我引用了System.Xml:

using System.Xml; 

然后在这一行:

 XmlDocument xdoc = new XmlDocument(); 

我明白了:

找不到类型或命名空间名称“XmlDocument”

什么可能有错?

信息:

.NET 3.5,C#,三重检查它被引用并在同一文档中使用,能够使用类似甚至子库(System.Linq; System.Xml.Linq; System.Xml.XPath; System.Xml;)

确保您的项目引用System.Xml.dll 程序集 。 您可能正在引用包含其他System.Xml。*类的程序集,这可能就是您看到System.Xml命名空间但没有所需类的原因。

如果您已经有这个参考,请尝试删除并重新添加它,看看是否有一些奇怪的VS故障。

您是否正在SilverLight项目中工作?

只有当我在SilverLight开始时,我才意识到并非所有的System.XML都在Silverlight CLR版本中。 我使用了System.Linq.XML instread。

善良,

我知道问题已经回答了,但是我想为我遇到的非常类似的问题添加解决方案,这可能对其他人有所帮助:

在我的情况下,这是一个简单的拼写错误,嗯,甚至不是,它是一个大写 – 小写 – 错误:
有两个类: XMLDocument (来自msxml.h)和XmlDocument (来自System.Xml)。
确保你没有把它们混合起来! 😉

我知道这是一个非常古老的问题,但现在问题仍然存在。 我正在使用Xamarin.Forms项目,而PCL项目的目标是不支持XmlDocument的配置文件(Profile111)。 我不得不使用System.Xml.Linq.XDocument。 我的项目目标是WindowsPhone,并且此目标上不存在XmlDocument。

如果您使用的是Visual Studio Code,则需要包含NuGet的.NET Standard 包 。 您也可以直接包含System.Xml.XmlDocument 包 ,如果这就是您所需要的。