Skip to content

使用roslyn方案打造高性能动态代码,包括动态构建,运行时编译等。(Use Roslyn to create efficient dynamic code. Including dynamic build and so on.)

License

Notifications You must be signed in to change notification settings

zhangzheng12/Natasha

 
 

Repository files navigation

中文 | English

你们的反馈是我的动力,文档还有很多不足之处;

当你看完文档之后仍然不知道如何实现你的需求,可以在issue中提出你的需求。

Natasha

Member project of .NET Core Community NuGet Badge Gitter Badge GitHub license

    基于roslyn的动态编译库,为您提供高效率、高性能、可追踪的动态构建方案,兼容stanadard2.0, 只需原生C#语法不用Emit。 让您的动态方法更加容易编写、跟踪、维护。 欢迎参与讨论:点击加入Gitter讨论组


类库信息(Library Info)

GitHub tag (latest SemVer) GitHub repo size GitHub commit activity Codecov

Scan Name Status
Document wiki
Lang Complie
Rumtime standard
OS Windows linux mac

持续构建(CI Build Status)

CI Platform Build Server Master Build Master Test
Travis Linux/OSX Build status
AppVeyor Windows/Linux Build status Build status
Azure Windows Build Status Build Status
Azure Linux Build Status Build Status
Azure Mac Build Status Build Status

Wiki审核

Teng(359768998@qq.com)


代码审核

WeihanLi


发布日志

  • 2019-08-07 : 发布v1.3.0.0,增加NewClass\NewStruct\NewInterface静态操作类,增加NewMethod静态操作类。
  • 2019-08-09 : 发布v1.3.2.0,支持非安全方法编译,函数支持Unsafe方法。
  • 2019-08-11 : 发布v1.3.4.0,增加NFunc/NAction方法, 可快速动态构建方法。
  • 2019-08-16 : 发布v1.3.6.0,添加枚举构建及编译方法, 日志添加一级 “时分” 目录。
  • 2019-09-01 : 发布v2.0.0.0,支持共享域协作,支持创建、卸载、锁域操作,支持多程序集合并编译、覆盖编译,支持外部文件热加载,封装字符串解构操作。

升级日志


微信群

Natasha生态群




使用方法(User Api):


更多更新的参考文档:https://natasha.dotnetcore.xyz/


首先编辑您的工程文件:

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <PreserveCompilationContext>true</PreserveCompilationContext>   <--- 定要加上这句话
    <MvcRazorExcludeRefAssembliesFromPublish>false</MvcRazorExcludeRefAssembliesFromPublish> <---- WEB发布一定要加
  </PropertyGroup>
 


Natasha的动态调用模块: 已移至【NCaller】

Natasha的动态调用模块: 已移至【DeepClone】




  • 测试计划(等待下一版本bechmark)

    • 动态函数性能测试(对照组: emit, origin)
    • 动态调用性能测试(对照组: 动态直接调用,动态代理调用,emit, origin)
    • 动态克隆性能测试(对照组: origin)
    • 远程动态封装函数性能测试(对照组: 动态函数,emit, origin)

License

FOSSA Status

About

使用roslyn方案打造高性能动态代码,包括动态构建,运行时编译等。(Use Roslyn to create efficient dynamic code. Including dynamic build and so on.)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%