我不完全确定如何更好地表达这个问题,因为我不完全确定这些各种参考问题的核心原因是什么,所以我提前为模糊的标题道歉。
我正在为 Windows 8 编写 VS 2012 Express 应用程序,目标是 winRT (ARM) Surface 平板电脑。
我在引用显然被全部识别时遇到了多个问题。为简单起见,让我举一些例子来说明。
我正在编写一些涉及 SOAP xml 的代码。
首先,如果我通过明确包含“using..”行来引用“System.Xml”(以及 System.Xml.Linq),它似乎实际上并没有做任何事情。
using System.Xml.Linq;
using System.Xml;
...
XmlDocument xmldoc = new XmlDocument();
抛出“找不到类型或命名空间名称‘XmlDocument’”
同样,如果我更明确:
using System.Xml.Linq;
using System.Xml;
....
System.Xml.XmlDocument xmldoc = new System.Xml.XmlDocument();
抛出“名称空间'System.Xml'中不存在类型或名称空间名称'XmlDocument'”以及原始错误消息。
行。我显然错过了一些东西,但是有大量的谷歌搜索结果。
我在安装在 VirtualBox 上的 Windows 8 上运行 VS2012,并认为我的安装可能被水洗了,我首先尝试简单地重新安装 VS2012,然后在这似乎没有任何影响时修复安装。
接下来,我尝试手动添加对相关 .dll 文件的引用。当我尝试这个时,VS 不允许它,说它们已经默认包含在内。
接下来,我尝试为我的项目手动打开 .csproj 文件,并为我似乎缺少的一些引用添加 Reference Include = "... 行(就像我说的,我只是使用 System.Xml 作为示例.) 这似乎没有改变任何东西,因为我得到了完全相同的错误。
接下来,我根据谷歌的直觉进入“添加或删除程序”,然后通过控制面板 -> 添加/删除程序,我打开了 .Net Framework 4.5 高级服务。不幸的是,这似乎没有任何效果。
将各种包含 .dll 的路径添加到“参考路径”似乎也没有任何影响(第一次安装 VS 时该字段为空。)
我难住了。即使在反复重新安装和修复之后,我是否缺少 .dll 或其他文件?
请注意,我至少能够通过引用 Windows.Data.Xml、Windows.Data.Xml.Dom 创建一个 XmlDocument,但该命名空间似乎缺少一些我需要的方法。