返回 | English
## Natasha.CSharp.All v2.0.2.3
## Natasha.CSharp.All v2.0.2.2
-
2020/11/20
- 支持 .NET5 / C# 9 ;
- 增加 NRecord 构建模板;
- 增加 RecordProperty(name) 只读包装属性,增加 OOP 模板 Property 构建是关于 init 类型的 API;
- 增加支持 fixed 修饰符;
- .NET5 版本 增加 SkipInit 方法跳过初始化,即 SkipLocalsInit 特性(注解),可用在存储结构构建以及方法上;
- 修复日志输出格式;
## Natasha.CSharp.All v2.0.2.1
-
2020/11/14
- 支持 .NET5 Runtime 版本。
- 初始化函数增加参数,false 代表不初始化默认域的引用,此时引用需要在域中手动添加。
Natasha.CSharp.All v2.0.1.1
-
2020/10/28
- 支持 netcore3.1 Runtime 版本。
Natasha.CSharp.All v2.0.1.0
Natasha.CSharp.All v2.0.0.0
-
2020/10/10
- 重整项目结构,将 C# 相关的项目归于 CSharp 文件夹下。
- 修复域管理操作类对域的弱引用关系,解决 DomainManagement.IsDeleted 判断失效的问题。
- 完善周边类库。
## v4.1.0.0
-
2020/08/06
- 支持域内动态编程时插件和动态生成程序集的 Using 引用覆盖。
- 升级 Natasha.Framework; 添加 GetReferenceElements API 以便返回当前域所有的引用,增加 AddAssemblyEvent/RemoveAssemblyEvent 事件,在程序集加载与移除操作时触发。
- 反解器支持方法返回值的 ref 修饰的反解。
- 反解器支持泛型约束的 notnull 约束反解。
- 增加插件UT测试,编译规避 CS1704 问题,支持同依赖不同插件的 file / stream 方式加载,单独加载依赖程序集可给插件的依赖进行升级。
- 增加 Natasha.CSharp.All 库,提供组件库的自动引用。
## v4.0.0.0
-
2020/07/24
- 升级重构 Natasha.Framework 编译框架。
- 重构 AssemblyDomain 为 NatashaAssemblyDomain。
- 重构 NatashaCSharpSyntax。
- 重构 NatashaCSharpCompiler。
- 解耦出编译组件,注册后采用 Emit 初始化。
- CSharp编译器开放本地编译标识。
- 增加 ReadonlyScript 的字符串方法扩展以便支持对 Readonly 的赋值。
- 优化引擎性能。
- 调整部分模板标识的命名空间为全局。
## v3.14.0.0
-
2020/07/02
- 部分操作类提升到全局引用,AssemblyDomain \ DomainManagement \ AssemblyCSharpBuilder。
- 使用可继承的编译环境包。
- 使用可继承的调试环境包。
- AssemblyCSharpBuilder 引擎继续调整 API 结构,提升部分选项属性的暴露层级。
- 模板增加泛型约束模板,反解器增加泛型约束反解功能。
- 修复部分模板状态机操作。
- 增加CS0012错误重定向。
## v3.10.0.0
-
2020/06/07
- 分离 SDK / SHARE 运行时库引用,以便更好的支持系统类库的私有字段。
- 调整初始化 API
DomainManagement.RegiestDefault
=> ` AssemblyDomain.Init();`。
- 引擎继续调整 API 结构,提升部分属性的暴露层级:
- AllowUnsafe 属性以支持非安全代码编译;
- OutputToFile 切换内存及文件编译模式;
- UseRelease 是否使用优化编译;
- OutputKind 编译类型的枚举,包括 dll / exe 等;
- Domain 域设置;
- AssemblyName 程序集名;
- 精简引擎部分冗余代码。
- 引擎增加对私有字段的支持。
## v3.8.0.0
## v3.4.0.0
-
2020/06/01
- 快速构建对象的 API 增加 .GetXXXBuilder , 返回字段/属性/方法构造器。
- nclass.Property/Field/Method/Ctor( builder) 支持直接传一个完好的 builder 进去。
## v3.2.0.0
-
2020/05/12
- 增加插件自动装载 using 的功能,当使用 CustomeUsing 方法时仍然需要自己手动指定。
- 统一大部分 API 的命名空间为 Natasha.CSharp。
- 修复部分字段命名。
- DomainBase 部分方法实现将在 AssemblyDomain 中实现。
- DomainBase 增加 GetPluginAssembies 抽象方法以返回插件带来的程序集,需要子类实现。
## v3.0.2.0
-
2020/05/06
- 修复修饰符模板状态机BUG。
- 增加语法树选项 ForceAddSyntax 不管对错强制添加语法树。
## v2.15.0.0
-
2020/03/17
- 抽象出静态构造层模板,并规范模板命名。
- 新增静态构造API, 可以传编译器到方法内对域进行赋值。
- 改静态构造方法以委托形式设置编译器选项。
- 破坏了DelegateOperator方法的使用,建议直接使用 NDoamin 。
## v2.14.0.0
-
2020/03/16
- NDomain 类使用 Using 模板来提供命名空间预定义的操作, 方便提前定制命名空间。
- 新增域、命名空间关联模板 NHandler 以便提供与当前信息相同的 delegate / class / interface / enum / struct 操作类。
- 增加 ALink 抽象类约束,以便完成 Link 操作。
## v2.12.0.0
-
2020/03/06
- 新增 NDomain.XXX.Delegate 系列API, 开发者可传自定义委托 , 该系列方法包括 AsyncDelegate / UnsafeDelegate / AsyncUnsafeDelegate / Delegate。
-
2020/03/09
- 修改API Field模板构建增加了一个参数 int? fieldoffset。
## v2.10.2.0
-
2020/03/05
- 修复一处方法反解器的 BUG ,暂不解析 new 关键字。
## v2.10.0.0
-
2020/02/15
-
日志操作的命名空间改为 System。
-
类型反解器添加命名空间。
-
修改 CS0104 BUG。
-
2020/02/14
## v2.9.10.0
## v2.9.8.0
## v2.9.7.0
## v2.9.6.1
## v2.9.6.0
v2.9.0.0
v2.8.11.0