需要帮助来解决错误。我在'Visual Studios 2012'中创建了一个ChatBot,它运行没有问题。但是,当我将它移到RaspberryPi以在MonoDevelop中编辑它时,我有以下错误:
“命名空间名称'序列化'的类型不存在于 命名空间'System.Xml'“。
这是using system.Xml.Serialization
。
我也得到错误:
“无法找到类型或命名空间名称'XmlSerializer'。是 你错过了一个装配参考?“。
这是以下两行:
XmlSerializer responseSave;
XmlSerializer allSave;
我认为这是由于命名空间的初始错误,并且在第一个错误解决后会自动解决。
问题:当我输入using System.Xml.Serialization
时,它会自动完成。
当我用光标突出显示XmlSerializer
时,我得到以下内容:
类 class 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 System.Core System.Xml.Linq的 System.Data.DataSetExtensions Microsoft.CSharp
System.Data 的System.Xml MonoDevelop.Core MonoDevelop.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 = [一串字母和数字]'对项目的目标框架无效。 ([项目名称])
答案 0 :(得分:1)
我在linux上编译时遇到了这个错误,在我的情况下,这是由于引用名称中的区分大小写问题。
在Visual Studio中查看System.Xml引用的引用属性时,我注意到该名称显示为System.XML。引用相同程序集的解决方案中的其他项目按预期显示名称为System.Xml。删除和重新添加引用由于某种原因没有任何效果。
我最终手动编辑了有问题项目的.csproj文件,以便相应地纠正案例:
<ItemGroup>
<Reference Include="System.Xml" />
</ItemGroup>