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

时间:2010-04-09 13:35:04

标签: c# .net xml reference namespaces

我引用了System.Xml:

using System.Xml;

然后在这一行:

XmlDocument xdoc = new XmlDocument();

我明白了:

  

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

可能有什么问题?

的信息:

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

5 个答案:

答案 0 :(得分:8)

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

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

答案 1 :(得分:4)

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

只有我经历过这种情况才是在SilverLight开始时,我没有意识到并非所有的System.XML都在Silverlight CLR版本中。我使用了System.Linq.XML instread。

善,

答案 2 :(得分:3)

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

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

答案 3 :(得分:1)

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

答案 4 :(得分:0)

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