RaspberryPi MonoDevelop C#-错误:命名空间名称的类型';序列化';不存在于命名空间
本文关键字:命名空间 序列化 不存在 类型 C#- MonoDevelop 错误 RaspberryPi | 更新日期: 2023-09-27 18:24:16
需要帮助来解决错误。我在"Visual Studios 2012"中创建了一个聊天机器人,它运行起来没有问题。然而,当我把它移到RaspberryPi上在MonoDevelop中编辑它时,我会出现以下错误:
"中不存在命名空间名称"Serialization"的类型命名空间"System.Xml".
这是在using system.Xml.Serialization
上。
我也得到错误:
"找不到类型或命名空间名称"XmlSerializer"。是缺少程序集引用吗?".
这是在以下两条线上:
XmlSerializer responseSave;
XmlSerializer allSave;
我相信这是由于名称空间的初始错误,一旦第一个错误被解决,就会自动解决。
问题是:当我键入using System.Xml.Serialization
时,它会自动完成。当我用光标高亮显示XmlSerializer
时,我得到以下内容:
类别类System.Xml.Serialization.XmlSerializer类,用于将对象序列化和反序列化为XML。(是的,它说了两次!)这表明它知道这个类是什么……那么为什么会出错呢?
我正在使用以下内容:
using System
using System.Collections.Generic
using System.Linq
using System.Text
using System.Xml
using System.IO
using System.Xml.Serialization
在我的参考资料中,我有以下内容:
系统系统核心System.Xml.LinqSystem.Data.DataSetExtensionsMicrosoft.CSharp
系统数据命名空间MonoDevelop.CoreMonoDevelop.XmlEditor
System.Runtime.Serialization
额外注意事项:我还收到3个警告:
引用"System.Data,Version=4.0.0.0,Culture=neutral,PublicKeyToken=[一串字母和数字]"对于项目的目标框架无效。(【项目名称】)
引用"System.Xml,Version=4.0.0.0,Culture=neutral,PublicKeyToken=[一串字母和数字]"对于项目的目标框架无效。(【项目名称】)
引用"Microsoft.CSharp,Version=4.0.0.0,Culture=neutral,PublicKeyToken=[字母和数字束]"对于项目的目标框架无效。(【项目名称】)
我在linux上编译时遇到了这个错误,在我的情况下,这是由于引用名称中的区分大小写问题。
在Visual Studio中查看System.Xml引用的引用属性时,我注意到该名称显示为System.Xml。解决方案中引用同一程序集的其他项目按预期显示为System.Xml。由于某种原因,删除和重新添加引用没有任何效果。
我最终手动编辑了有问题项目的.csproj文件,以相应地纠正这种情况:
<ItemGroup>
<Reference Include="System.Xml" />
</ItemGroup>