这是场景。我在 Visual Studio 中创建了一个新的类库项目,添加了一些类。然后在某个时候,我决定我需要标记一些类,System.Runtime.Serialization.DataContractAttribute
并写下以下内容:
[DataContract]
public class MyDataContractClass {}
当我点击编译时,我看到以下错误:
错误 CS0246:找不到类型或命名空间名称“DataMember”(您是否缺少 using 指令或程序集引用?)
好的,问题是我忘记添加using
指令以使类可见。我加
using System.Runtime.Serialization;
System.Runtime.Serialization
到类上方的同一个文件,但直到我在项目资源管理器中添加对的引用,问题才会消失。
这非常令人困惑。为什么无论我错过了两个步骤中的哪一个,我都必须在不同的地方添加两次相同的内容并看到相同的错误消息?
我的问题如下。这只是设计不当的错误诊断,还是有一些根本原因导致缺少上述两个步骤中的任何一个会导致 C# 编译器发出相同的错误?