MIT License

项目介绍

dotnetcore/Natasha 是一个托管在 GitHub 上的开源项目,主要使用 C# 编写,采用 MIT License 许可证,目前获得 1.6k 个 Star、231 次 Fork。

仓库全名
dotnetcore/Natasha
开源许可证
MIT License
Star 数
1.6k
Fork 数
231
未关闭 Issue
8

README 摘要

中文 | English 你们的反馈是我的动力,文档还有很多不足之处; 当你看完文档之后仍然不知道如何实现你的需求,您可以查看 FAQ 或者在issue中提出你的需求。 Natasha     基于 Roslyn 的 C# 动态程序集构建库,该库允许开发者在运行时使用 C# 代码构建域 / 程序集 / 类 / 结构体 / 枚举 / 接口 / 方法等,使得程序在运行的时候可以增加新的模块及功能。Natasha 集成了域管理/插件管理,可以实现域隔离,域卸载,热拔插等功能。 该库遵循完整的编译流程,提供完整的错误提示, 可自动添加引用,完善的数据结构构建模板让开发者只专注于程序集脚本的编写,兼容 netstandard2.0, 跨平台,统一、简便的链式 API。 且我们会尽快修复您的问题及回复您的 issue . 这里有更多的使用文档 ClawHub 安装 Skill: npx…

完整内容见 GitHub 原始 README 或本页 。

常见问题

Natasha 用什么语言开发?

主要使用 C# 编写,采用 MIT License 许可证,目前有 1.6k 个 Star。

Natasha 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 Natasha 的源码?

可以直接克隆仓库:git clone https://github.com/dotnetcore/Natasha.git,默认分支为 main;安装与运行步骤见仓库 README。

Natasha 最近还在维护吗?

仓库最近一次更新为 3月30日,当前有 8 个未关闭 Issue;Star 数为 1.6k,可作为社区活跃度的参考。

简要分析

热度分
2115
价值分
1028
活跃状态
活跃

语言占比

Batchfile
C#
Python
Shell

Release

README

中文 | English

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

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


Natasha

Member project of .NET Core Community Gitter Badge GitHub license wiki
Compile NuGet Badge GitHub commit activity Codecov UT Test From PR



    基于 [Roslyn](https://github.com/dotnet/roslyn) 的 C# 动态程序集构建库,该库允许开发者在运行时使用 C# 代码构建域 / 程序集 / 类 / 结构体 / 枚举 / 接口 / 方法等,使得程序在运行的时候可以增加新的模块及功能。Natasha 集成了域管理/插件管理,可以实现域隔离,域卸载,热拔插等功能。 该库遵循完整的编译流程,提供完整的错误提示, 可自动添加引用,完善的数据结构构建模板让开发者只专注于程序集脚本的编写,兼容 netstandard2.0, 跨平台,统一、简便的链式 API。 且我们会尽快修复您的问题及回复您的 [issue](https://github.com/dotnetcore/Natasha/issues/new) . [这里有更多的使用文档](https://natasha.dotnetcore.xyz/zh-Hans/docs)

展示


ClawHub

安装 Skill: npx clawhub install csharp-dotnetcore-natasha

使用

引入包 DotNetCore.Natasha.CSharp.Compiler 编译单元主体


引入包 DotNetCore.Natasha.CSharp.Compiler.Domain 编译域 (netcore3.1+)

初始化(v9)
NatashaManagement
    //获取链式构造器
    .GetInitializer() 
    //使用引用程序集中的命名空间
    .WithMemoryUsing()
    //使用内存中的元数据
    .WithMemoryReference()
    //注册域构造器
    .Preheating<NatashaDomainCreator>();
动态编译
AssemblyCSharpBuilder assemblyCSharp = new();
assemblyCSharp.ConfigLoadContext(ctx => ctx.AddReferenceAndUsingCode<object>());
assemblyCSharp.Add("public class A{public void Show(){}}");
assemblyCSharp.LogCompilationEvent += (log) => { Console.WriteLine(log.ToString()); };
var newAssembly = assemblyCSharp.GetAssembly();

赞助

关闭打赏

捐助明细
  • L*u 50 元
  • 亮 20 元
  • 升讯威在线客服系统 5 元
  • Json-jh [尊敬的博客园VIP会员] 22 元
  • Newbe俞佬 90.2 元
  • 崔星星 17 元
  • Money 100 元
  • Newbe俞佬 200 元
  • iNeuOS工业互联网平台 100 元
  • 老萌 30 元
  • ****天下 10 元
  • 文航 5 元
  • TonyQu 10 元
  • Rwing 20 元

感谢老铁们的支持,感激不尽 🙏🙏🙏。



License

FOSSA Status

评论

暂无评论