【问题标题】:Getting a compile error in c# about not referencing System.XML, yes System.XML is being reference在 c# 中出现关于不引用 System.XML 的编译错误,是的 System.XML 正在被引用
【发布时间】:2015-10-28 09:54:04
【问题描述】:

我正在尝试向我编写的旧程序添加新功能。但是,当试图让程序在 VS express 中构建时,它会向我返回一条错误消息。

错误 1 ​​类型“System.Xml.Serialization.IXmlSerializable”是 在未引用的程序集中定义。您必须添加一个 引用程序集 'System.Xml,版本 = 4.0.0.0,文化 = 中性, PublicKeyToken=b77a5c561934e089'。 C:\Path\To\File\summaryForm.cs 101 18 串行控制器

然而东西在cs文件的顶部,它有

using System;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Windows.Forms; 
using System.Xml;

任何想法为什么它不能识别 XML 引用?

【问题讨论】:

  • 您有正确的 using 语句,但您的项目引用中是否确实引用了 System.Xml dll?

标签: c# xml visual-studio-2012 compiler-errors


【解决方案1】:

使用命名空间并不意味着您引用了某些东西。您需要添加对System.XML 的引用

如果您使用的是 Visual Studio,请右键单击引用,单击 添加引用,然后选择 System.XML

【讨论】:

    【解决方案2】:

    The using directive(不要与the using statement 混淆)只是将命名空间从引用的程序集中导入代码文件,以便更容易使用程序集包含的类型,而不必完全限定它们名称及其命名空间。事实上,程序集System.Xml 和命名空间System.Xml 命名相同,在这种情况下,只是一个巧合。

    您需要将System.Xml.DLL 引用实际添加到您的项目中:右键单击解决方案资源管理器中项目下方的“引用”,选择“添加引用”,然后找到并勾选@框架程序集列表中的 987654334@ 程序集:

    【讨论】:

    • using 指令。 C# 中有两个不相关的特性都使用关键字using。它们是using directiveusing statement。当你的意思是第一个时使用第二个的名字只会导致混乱。
    • A using 并没有真正导入程序集,而是一个命名空间。
    • @SebastianNegraszus -- 你是对的,当然。已更新。
    【解决方案3】:

    如果您有参考,该错误可能会产生误导 - 您可能还需要参考 System.Xml.Serialization

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多