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

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


InvalidOperationException: 不应是类型 CSFramework.AutoUpgrader.CmdDeleteFile。使用 XmlInclude 或 SoapInclude 特性静态指定非已知的类型。



贴图图片-XmlInclude



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




解决方案:


在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



MSDN关于XmlIncludeAttribute的定义如下:允许 XmlSerializer 在它序列化或反序列化对象时识别类型。




C/S框架网|原创精神.创造价值.打造精品

扫一扫加微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务


版权声明:本文为CSFramework文库发布内容,转载请附上原文出处连接
C/S框架网
发表评论

评论内容
昵称:
关联文章

CSFramework.AutoUpgrader 发布命令升级出错InvalidOperationException使用 XmlInclude SoapInclude 特性静态指定类型
CSFramework.AutoUpgrader上传大文件升级测试报告
软件自动升级程序之执行dos命令和自运行程序升级|C/S框架网
升级业务逻辑关系图
版本自动升级程序AutoUpgrader数据库结构
AutoUpgrader版本自动升级软件 V1.2
C# Winform C/S架构自动升级软件 AutoUpgrader V1.2版本
未能找到任何适合于指定区域性区域性资源 Properties.Resources.resources
CSFramework版本自动升级程序AutoUpgrader增加日志Log功能
Activator.CreateInstance 使用指定类型默认构造函数来创建该类型实例
C/S框架主程序调用版本自动升级程序(CSFrameworkV5.AutoUpgrader)VersionCheckNEW类
C/S框架新功能:自动检测升级并强制关闭应用程序进行版本升级
AutoUpgrader版本自动升级软件 V1.2软件截图
C#.Net 静态构造器使用详解
C/S自动升级软件之下载升级策略设计|C/S框架网
CSFramework.AutoUpgrader升级程序支持回滚还原文件(重置为升级前状态)
使用指南
数据字典未指定表名主键!DAL类名必须加DefaultORM_UpdateMode特性
C#.NET C/S结构版本自动升级解决方案之升级实现
通过本地日志调试发布项目