即使我引用了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 包 ,如果这就是您所需要的。