跳到主要内容

2019

v2.8.5.0

  • 2019/12/26
    • Natasha 增强反解类。

    • 引擎增加接收语法树的 API。

    • 启动项目 [动态插件编译] 支持运行时改变部分插件的功能,重编译插件。


v2.8.0.0

  • 2019/12/25
    • Natasha 日志操作类改名 NError => NErrorLog / NSucceed => NSucceedLog / NWarning => NWarningLog。

    • 对外开放 DomainManagement.Clear 方法方便手动清除已卸载的域(默认自动管理)。

    • 增强和修复 CS0234 的替换规则,识别父命名空间正则移除父子命名空间。

    • 引擎语法树选项内部进行细微优化。


v2.7.6.0

  • 2019/12/17
    • Natasha 方法操作类增加 Override 和 NewHidden 方法。

    • NAssembly 增加三种域创建方式。

    • 移除代理操作类到 NCaller 项目中。


v2.7.3.0

  • 2019/12/17
    • Natasha 非系统域生成的操作均进行了缓存,以便进行引用移除/域卸载等操作。

    • Type / Delegate / Assembly 均可以使用 RemoveReferences / DisposeDomain 方法进行引用移除或者卸载域操作。


v2.7.0.1

  • 2019/12/16
    • Natasha.Core 项目负责原始编译的 API 以及域操作。

    • Natasha.Reverser 项目负责运行时信息反解操作。

    • Natasha 项目引用了 Natasha.Core 以及 Natasha.Reverser 并组建了 Template / Builder / Operator 动态构建三件套,提供便利的 API 以便对外使用。


v2.6.1.0

  • 2019/12/07
    • 移除 NFunc / RFunc / NAction / RAction / NDelegateOperator / RDelegateOperator / 字符串扩展方法 / 委托扩展方法。

    • 改 Delete 卸载方法为 DisposeDomain ,改 AddInCache 为内部方法不对外开放。

    • 三个静态创建实例的方法(Create(string) / Create(AssemblyDomain) / Random())增加第二个参数,指定是否以文件方式进行编译,默认为 false。

    • 增加 NDomain / OopBuilder 的子类 / OnceMethodBuilder 的子类,增加静态属性 Default 作为系统域即 Create() 方法返回实例。


v2.5.4.0

  • 2019/12/07
    • 增加 CS0234 以及 CS0246 错误自动修复机制,命名空间在无效时会自动剔除并重编译。

    • 增加 CS0104 的替换逻辑,在未手动解决二义性时,默认使用靠前的命名空间。

    • 由 NDomain 创建的独立/随机域类型/结构/枚举/接口将支持回收。


v2.5.0.0

  • 2019/12/06
    • Operator 移除 New / RandomDomian / MainDomain 静态属性。

    • Operator 以及 N 系列 API 增加静态创建方法,包括 Create(string) / Create(AssemblyDomain) / Random() 三种创建实例同时指定所属的域。

    • 增加入口程序集的命名空间覆盖。


v2.4.0.0

  • 2019/12/05
    • 移除并发计数,增加委托操作扩展 , 现 Fake/FastMethodOperator.Random 以及 RAction/RFunc 生成的委托都存入了缓存中,这些委托可以直接调用 Delete 进行卸载。

    • 默认使用所有 Using 覆盖编译代码,当发生二义性引用时使用 CS0104Helper 处理二义性问题, 模板增加 UseCustomerUsing 方法来阻止 Using 覆盖,代价是将必要的 Using 引用精确引入到构建中。

    • 编译引擎在出现二义性引用时将进行重试策略,重试次数 1 次。


v2.2.0.0

  • 2019/11/28
    • 增加四级运算 API , 可使用 DomainOperator 操作类来完成运算
    • 改模板中 MethodBody 以及 OopBody 为追加模式
    • 模板支持随机命名函数

v2.1.2.0

  • 2019/11/27
    • OOP 模板构建增加属性模板
    • NAssembly 获取 Fake/FastMethodOperator 将属于同一域
    • 增加 NDomain 操作类,可以链式调用 Create 方法创建域并继续创建方法如 Func<> / AsyncFun<> / UnsafeFunc / AsyncUnsafeFunc / Action<> / AsyncAction<> / UnsafeAction<> / AsyncUnsafeAction<>

v2.1.1.0

  • 2019/11/26
    • 改 Operator.New 为 Operator.MainDomain
    • 区分 NAction/NFunc/NDelegateOperator 为默认域,RAction/RFunc/RDelegateOperator 为随机域 API
    • 增加随机域延迟回收机制,使用 DomainManagment.ConcurrentCount 进行随机域的计数。
    • OopBuider 增加 UseRandomDomain 函数以支持随机域。

v2.0.5.0

  • 2019/10/20
    • 增强 NAction/NFunc/DelegateOperator 等封装类的传参类型,支持 string/string[]/Type/Type[]/Assembly/Asssembly[]
    • 增强 Natasha 的 Using 方法解析

v2.0.4.0

  • 2019/10/15
    • 增强构建信息操作类

v2.0.2.1

  • 2019/10/11
    • 修复插件依赖加载

v2.0.2.0

  • 2019/09/29
    • 增强错误日志解析功能
    • 增强反解器功能,支持内部类反解
  • 2019/09/28
    • 恢复动态编译代码到 dll 文件,并携带 pdb 文件
    • 增加默认域的非托管 dll 依赖解析

v2.0.0.2

  • 2019/09/27
    • 修复默认域的插件依赖问题
    • 加强域内并发控制

v2.0.0.0

  • 2019/09/13
    • 增强类型获取,简化脚本逻辑
  • 2019/09/07
    • 增强命名空间操作,Delegate 支持多种可变参数类型,包括 Type,String,Assembly
    • 添加部分类编译 UT 测试
  • 2019/09/05
    • 增加模板类属性 API 的支持,template.Public/PublicMember/Private/PrivateMember 等。
  • 2019/09/02
    • 优化插件依赖加载方式。
  • 2019/08/30
    • 简化语法树检测过程。
  • 2019/08/24
    • 编译层融入程序集操作层。
    • 合并程序集错误日志。
  • 2019/08/23
    • 支持共享域/自定义域协作。
    • 支持动态类型覆盖。
    • 支持程序域锁操作。
  • 2019/08/22
    • 修复可用名反解器。
    • 日志传递给编译器的 Exception 字段。
    • 优化日志深度和写入规则。
  • 2019/08/21
    • 重构引擎,并入 IComplier 抽象类中。
    • 增加 NClass/NEnum/NInterface/NStruct 操作类。
    • 所有包装类默认使用公有访问级别。
    • 增加多维数组反解。
    • 增加锯齿数组反解。
  • 2019/08/20
    • 统一采用流加载模式。
    • Dispose 方法解决程序集上下文卸载的问题。
    • 引擎加锁模式解决并发重复加载程序集问题。
  • 2019/08/17
    • Core3.0 版本兼容。
    • 增加 Core3.0 版本的程序集管理,支持编译环境隔离。

v1.3.6.0

  • 2019/08/16
    • 添加枚举构建及编译方法。
  • 2019/08/14
    • 日志添加一级 “时分” 目录。

v1.3.4.0

  • 2019/08/11
    • 支持 NFunc 静态方法构建动态脚本。
    • 支持 NAction 静态方法构建动态脚本。

v1.3.2.0

  • 2019/08/09
    • 支持编译不安全方法。
    • 函数模板添加 Unsafe 方法。

v1.3.0.0

  • 2019/08/07
    • 归类整理命名空间。
    • 增加 NewClass\NewStruct\NewInterface 静态操作类。
    • 增加 NewMethod 静态操作类。
    • 增加接口、抽象类、虚方法、普通类的继承实现。

v1.2.1.0

  • 2019/08/06
    • 废弃 RuntimeComplier 改用 OopComplier,OopComplier 带有异常捕获的功能,因此建议使用该方法。
    • 增加 Complier.LoadFile 方法,在 GetClassType/GetStructType.GetInterfaceType 之前添加 dll, 让编译脚本支持引用 dll 中的内容。

v1.2.0.0

  • 2019/08/05
    • 增加字符串扩展方法,FastOperator.
    • 修改 Class 操作为 Oop 操作,例如 ClassBuilder -> OopBuilder。
    • 优化模板结构。
    • Oop 模板支持类、结构体、接口多种构建方式。
    • 增加字段模板。
    • FastMethodOperator 的 Complie<>方法增加智能参数/返回值检测/补齐。

v1.1.0.0

  • 2019/08/03
    • 区分 OS 分隔符
    • 增加异常捕获
    • 优化引擎结构
    • 增强编译器的实现
    • 改 ComplierOption 为 Complier

v1.0.4.0

  • 2019/08/02
    • 增强初始化模板
    • 增加构建异步方法
    • 默认语言编译选项
  • 2019/08/01
    • 方法异步还原
    • 规范模板命名空间
    • 增加注解构建

v0.8.2.0

  • 2019/07/31
    • 增强日志
    • 增加类模板重编译功能
    • 修复克隆扩展类型

v0.8.0.0

  • 2019/07/28
    • 运行时编译区分类与结构体

v0.7.9.0

  • 2019/07/27
    • 增加脚本格式化功能,与 VS 格式化同样
    • 移除并发队列,采用正常的日志写入方式
  • 2019/07/24
    • 类构建可通过方法切换到结构体
    • 引擎支持结构体构建

v0.7.5.1

  • 2019/07/18
    • 分离动态调用功能 到 NCaller 项目

v0.7.5.0

  • 2019/07/17
    • 增强类迭代器
    • 增强深度克隆
  • 2019/07/16
    • 修复动态文件加载 BUG
    • 修复克隆模块字典数组命名空间问题
    • 增加日志时间记录
    • 增加日志初始化目录功能

v0.7.3.2

  • 2019/07/12
    • 移除自动格式化功能
  • 2019/07/04
    • 修整 Natasha 架构,采用正序构建