DataContractAttribute和IExtensibleDataObject未定义.Net 4.0

DataContractAttribute和IExtensibleDataObject未定义.Net 4.0,.net,vb.net,visual-studio-2010,.net-4.0,.net,Vb.net,Visual Studio 2010,.net 4.0,我只想生成一个示例,用于复制.Net 4.0 windows窗体应用程序上DataContractAttribute的文档,该应用程序在此处定义: 创建新的.Net 4.0 windows窗体应用程序并将DataContractAttribute示例粘贴到其中时,会生成以下编译错误: 未为DataContract、DataMember、IExtensibleDataObject、ExtensionDataObject、DataContractSerializer定义“类型“” MSDN文档指出

我只想生成一个示例,用于复制.Net 4.0 windows窗体应用程序上DataContractAttribute的文档,该应用程序在此处定义:

创建新的.Net 4.0 windows窗体应用程序并将DataContractAttribute示例粘贴到其中时,会生成以下编译错误:

未为DataContract、DataMember、IExtensibleDataObject、ExtensionDataObject、DataContractSerializer定义“类型“”

MSDN文档指出,所有这些都应该在System.Runtime.Serialization命名空间中可用

System.Runtime.Serialization命名空间中唯一可用的成员是IDeserializationCallback、IFormatter、IFormatterConverter、IOjbectReference、ISafeSerializationData、ISerializable、IserializationSubrogate和ISurrogateSelector

导入System.Runtime.Serialization显然不起作用,完全限定引用也不起作用,因为类不包括在命名空间中

命名空间:System.Runtime.Serialization
程序集:System.Runtime.Serialization(在System.Runtime.Serialization.dll中)


您需要添加对此程序集的引用。

有时候,在重新启动Visual Studio后,这些类型的错误会消失……我以为我已经检查过了。显然我没有。感谢您提供的简单解决方案。以防其他人偶然发现此问题:使用System.Runtime.Serialization添加;这还不够,您确实需要在解决方案资源管理器中包含引用。