CSFramework.AutoUpgrader 发布命令升级包出错:InvalidOperationException使用 XmlInclude 或 SoapInclude 特性静态指定非已知的类型
CSFramework.AutoUpgrader 发布命令升级包出错:InvalidOperationException使用 XmlInclude 或 SoapInclude 特性静态指定非已知的类型InvalidOperationException: 不应是类型 CSFramework.AutoUpgrader.CmdDeleteFile。使用 XmlInclude 或 SoapInclude 特性静态指定非已知的类型。

C# Code:
/// <summary>
/// 序列化对象
/// </summary>
/// <param name="o">对象</param>
/// <param name="outFile">持久化对象文件</param>
/// <returns></returns>
public static bool Serialize(object o, string outFile)
{
using (StringWriter sw = new StringWriter())
{
XmlSerializer xz = new XmlSerializer(o.GetType());
xz.Serialize(sw, o);
File.WriteAllText(outFile, sw.ToString(), Encoding.UTF8);
}
return true;
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// 序列化对象
/// </summary>
/// <param name="o">对象</param>
/// <param name="outFile">持久化对象文件</param>
/// <returns></returns>
public static bool Serialize(object o, string outFile)
{
using (StringWriter sw = new StringWriter())
{
XmlSerializer xz = new XmlSerializer(o.GetType());
xz.Serialize(sw, o);
File.WriteAllText(outFile, sw.ToString(), Encoding.UTF8);
}
return true;
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
解决方案:
在PackageFile类添加XmlInclude特性,静态指定该类需要序列化的类型。
C# Code:
/// <summary>
/// 升级包实体类,用于序列化持久存储在数据库
/// </summary>
[Serializable]
[XmlInclude(typeof(PackageFileItem))]
[XmlInclude(typeof(CmdDeleteFile))]
[XmlInclude(typeof(CmdRunProgram))]
public class PackageFile
{
private string _PackingNo;
private string _Remark;
private List<PackageFileItem> _Files;
/// <summary>
/// 支持Serializable特性的默认无参数构造器
/// </summary>
public PackageFile()
{ }
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// 升级包实体类,用于序列化持久存储在数据库
/// </summary>
[Serializable]
[XmlInclude(typeof(PackageFileItem))]
[XmlInclude(typeof(CmdDeleteFile))]
[XmlInclude(typeof(CmdRunProgram))]
public class PackageFile
{
private string _PackingNo;
private string _Remark;
private List<PackageFileItem> _Files;
/// <summary>
/// 支持Serializable特性的默认无参数构造器
/// </summary>
public PackageFile()
{ }
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
MSDN关于XmlIncludeAttribute的定义如下:允许 XmlSerializer 在它序列化或反序列化对象时识别类型。

参考文档:
CSFramework.AutoUpgrader上传大文件升级包测试报告
CSFramework快速开发框架项目改名VS解决方案改名(使用Rename改名工具)
使用DeepSeek生成DevExpress表格、窗体、C#模型代码并集成到开发框架|C/S开发框架
CSFrameworkV6快速开发框架 | 使用PostgreSql 数据库测试报告|C/S开发框架
使用Photoshop PS制作GIF动画(等待窗体GIF图标)|C/S开发框架
Oracle数据库名称有小数点,使用expdp备份失败:ORA|12154: TNS: 无法解析指定的连接标识符|C/S开发框架
ORACLE 使用 expdp 命令导出dmp数据库文件|C/S开发框架
达梦数据库使用DmBulkCopy批导数据解决方案|C/S开发框架
.NET Reactor(.NET混淆器)加壳软件使用|C/S开发框架
CSFramework开发框架使用.NET Reactor加壳软件导致多语言失效|C/S开发框架
ISID字段介绍,能直接用ISID字段作为主键使用吗?|C/S开发框架
CSFramework软件开发框架 | 使用扩展角色实现自定义权限控制|C/S开发框架
达梦数据库 | 使用DM数据迁移工具迁移CSFrameworkV6数据库|C/S框架网|C/S开发框架
达梦数据库 | DM管理工具使用指南|C/S框架网|C/S开发框架
使用.NET8/EFCore访问达梦数据库|C/S框架网|C/S开发框架
C/S架构软件开发平台旗舰版V6.0 | 使用FastReport.NET制作二维码报表|C/S开发框架
CSFramework.AutoUpgrader上传大文件升级包测试报告
CSFramework快速开发框架项目改名VS解决方案改名(使用Rename改名工具)
使用DeepSeek生成DevExpress表格、窗体、C#模型代码并集成到开发框架|C/S开发框架
CSFrameworkV6快速开发框架 | 使用PostgreSql 数据库测试报告|C/S开发框架
使用Photoshop PS制作GIF动画(等待窗体GIF图标)|C/S开发框架
Oracle数据库名称有小数点,使用expdp备份失败:ORA|12154: TNS: 无法解析指定的连接标识符|C/S开发框架
ORACLE 使用 expdp 命令导出dmp数据库文件|C/S开发框架
达梦数据库使用DmBulkCopy批导数据解决方案|C/S开发框架
.NET Reactor(.NET混淆器)加壳软件使用|C/S开发框架
CSFramework开发框架使用.NET Reactor加壳软件导致多语言失效|C/S开发框架
ISID字段介绍,能直接用ISID字段作为主键使用吗?|C/S开发框架
CSFramework软件开发框架 | 使用扩展角色实现自定义权限控制|C/S开发框架
达梦数据库 | 使用DM数据迁移工具迁移CSFrameworkV6数据库|C/S框架网|C/S开发框架
达梦数据库 | DM管理工具使用指南|C/S框架网|C/S开发框架
使用.NET8/EFCore访问达梦数据库|C/S框架网|C/S开发框架
C/S架构软件开发平台旗舰版V6.0 | 使用FastReport.NET制作二维码报表|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
