# MoYu **Repository Path**: dotnetmoyu/MoYu ## Basic Information - **Project Name**: MoYu - **Description**: 一个应用程序脚手架,您可以将它集成到任何 .NET/C# 应用程序中。 - **Primary Language**: C# - **License**: MIT - **Default Branch**: main - **Homepage**: https://52moyu.net/ - **GVP Project**: No ## Statistics - **Stars**: 65 - **Forks**: 20 - **Created**: 2023-11-27 - **Last Updated**: 2026-01-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 介绍
![logo](/icon.png) [![star](https://gitee.com/dotnetmoyu/MoYu/badge/star.svg?theme=gvp)](https://gitee.com/dotnetmoyu/MoYu/stargazers) [![fork](https://gitee.com/dotnetmoyu/MoYu/badge/fork.svg?theme=gvp)](https://gitee.com/dotnetmoyu/MoYu/members) [![GitHub stars](https://img.shields.io/github/stars/DotNet-MoYu/MoYu?logo=github)](https://github.com/DotNet-MoYu/MoYu/stargazers) [![GitHub forks](https://img.shields.io/github/forks/DotNet-MoYu/MoYu?logo=github)](https://github.com/DotNet-MoYu/MoYu/network) [![GitHub license](https://img.shields.io/badge/license-MIT-orange)](https://github.com/DotNet-MoYu/MoYu/blob/master/LICENSE) [![nuget](https://img.shields.io/nuget/v/MoYu.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu) 让 .NET 开发更简单,更通用,更流行。
## 💐 序言 > 无私奉献不是天方夜谭,有时候,我们也可以做到。 ## 🍕 名字的由来 > `MoYu` 顾名思义 `摸鱼` 的意思,表示用了这个框架就可以有大把时间摸鱼,有更多的时间学习新技术。 ## 🌭 开源地址 - Gitee:[https://gitee.com/dotnetmoyu/MoYu](https://gitee.com/dotnetmoyu/MoYu) - GitHub:[https://github.com/DotNet-MoYu/MoYu](https://github.com/DotNet-MoYu/MoYu) ## 🥥 框架拓展包 | 包类型 | 名称 | 版本 | 描述 | | :-------------------------------------------------------------------------------------------------------------------------------------------: | ---------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | ------------------------------------------------- | | [![nuget](https://shields.io/badge/-NuGet-blue?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu) | MoYu | [![nuget](https://img.shields.io/nuget/v/MoYu.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu) | MoYu 核心包 | | [![nuget](https://shields.io/badge/-NuGet-blue?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.Pure) | MoYu.Pure | [![nuget](https://img.shields.io/nuget/v/MoYu.Pure.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.Pure) | MoYu 纯净版包(不含 EFCore) | | [![nuget](https://shields.io/badge/-NuGet-blue?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.Extras.Authentication.JwtBearer) | MoYu.Extras.Authentication.JwtBearer | [![nuget](https://img.shields.io/nuget/v/MoYu.Extras.Authentication.JwtBearer.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.Extras.Authentication.JwtBearer) | MoYu Jwt 拓展包 | | [![nuget](https://shields.io/badge/-NuGet-blue?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.Extras.DependencyModel.CodeAnalysis) | MoYu.Extras.DependencyModel.CodeAnalysis | [![nuget](https://img.shields.io/nuget/v/MoYu.Extras.DependencyModel.CodeAnalysis.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.Extras.DependencyModel.CodeAnalysis) | MoYu CodeAnalysis 拓展包 | | [![nuget](https://shields.io/badge/-NuGet-blue?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.Extras.ObjectMapper.Mapster) | MoYu.Extras.ObjectMapper.Mapster | [![nuget](https://img.shields.io/nuget/v/MoYu.Extras.ObjectMapper.Mapster.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.Extras.ObjectMapper.Mapster) | MoYu Mapster 拓展包 | | [![nuget](https://shields.io/badge/-NuGet-blue?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.Extras.DatabaseAccessor.SqlSugar) | MoYu.Extras.DatabaseAccessor.SqlSugar | [![nuget](https://img.shields.io/nuget/v/MoYu.Extras.DatabaseAccessor.SqlSugar.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.Extras.DatabaseAccessor.SqlSugar) | MoYu SqlSugar 拓展包 | | [![nuget](https://shields.io/badge/-NuGet-blue?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.Extras.DatabaseAccessor.Dapper) | MoYu.Extras.DatabaseAccessor.Dapper | [![nuget](https://img.shields.io/nuget/v/MoYu.Extras.DatabaseAccessor.Dapper.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.Extras.DatabaseAccessor.Dapper) | MoYu Dapper 拓展包 | | [![nuget](https://shields.io/badge/-NuGet-blue?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.Extras.DatabaseAccessor.MongoDB) | MoYu.Extras.DatabaseAccessor.MongoDB | [![nuget](https://img.shields.io/nuget/v/MoYu.Extras.DatabaseAccessor.MongoDB.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.Extras.DatabaseAccessor.MongoDB) | MoYu MongoDB 拓展包 | | [![nuget](https://shields.io/badge/-NuGet-blue?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.Extras.Logging.Serilog) | MoYu.Extras.Logging.Serilog | [![nuget](https://img.shields.io/nuget/v/MoYu.Extras.Logging.Serilog.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.Extras.Logging.Serilog) | MoYu Serilog 拓展包 | | [![nuget](https://shields.io/badge/-NuGet-blue?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.Xunit) | MoYu.Xunit | [![nuget](https://img.shields.io/nuget/v/MoYu.Xunit.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.Xunit) | MoYu Xunit 单元测试拓展包 | | [![nuget](https://shields.io/badge/-NuGet-blue?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.Pure.Xunit) | MoYu.Pure.Xunit | [![nuget](https://img.shields.io/nuget/v/MoYu.Pure.Xunit.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.Pure.Xunit) | MoYu 纯净版包 Xunit 单元测试拓展包(不含 EFCore) | | [![nuget](https://shields.io/badge/-NuGet-blue?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.Tools.CommandLine) | MoYu.Tools.CommandLine | [![nuget](https://img.shields.io/nuget/v/MoYu.Tools.CommandLine.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.Tools.CommandLine) | MoYu Tools 命令行参数解析 | ## 🍄 框架脚手架 #### `MoYu + EFCore` | 模板类型 | 名称 | 版本 | 描述 | | :------------------------------------------------------------------------------------------------------------------------------------: | ------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------: | ---------------------- | | [![nuget](https://shields.io/badge/-NuGet-yellow?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.Template.Mvc/) | MoYu.Template.Mvc | [![nuget](https://img.shields.io/nuget/v/MoYu.Template.Mvc.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.Template.Mvc/) | Mvc 模板 | | [![nuget](https://shields.io/badge/-NuGet-yellow?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.Template.Api/) | MoYu.Template.Api | [![nuget](https://img.shields.io/nuget/v/MoYu.Template.Api.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.Template.Api/) | WebApi 模板 | | [![nuget](https://shields.io/badge/-NuGet-yellow?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.Template.App/) | MoYu.Template.App | [![nuget](https://img.shields.io/nuget/v/MoYu.Template.App.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.Template.App/) | Mvc/WebApi 模板 | | [![nuget](https://shields.io/badge/-NuGet-yellow?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.Template.Razor/) | MoYu.Template.Razor | [![nuget](https://img.shields.io/nuget/v/MoYu.Template.Razor.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.Template.Razor/) | RazorPages 模板 | | [![nuget](https://shields.io/badge/-NuGet-yellow?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.Template.RazorWithWebApi/) | MoYu.Template.RazorWithWebApi | [![nuget](https://img.shields.io/nuget/v/MoYu.Template.RazorWithWebApi.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.Template.RazorWithWebApi/) | RazorPages/WebApi 模板 | | [![nuget](https://shields.io/badge/-NuGet-yellow?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.Template.Blazor/) | MoYu.Template.Blazor | [![nuget](https://img.shields.io/nuget/v/MoYu.Template.Blazor.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.Template.Blazor/) | Blazor 模板 | | [![nuget](https://shields.io/badge/-NuGet-yellow?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.Template.BlazorWithWebApi/) | MoYu.Template.BlazorWithWebApi | [![nuget](https://img.shields.io/nuget/v/MoYu.Template.BlazorWithWebApi.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.Template.BlazorWithWebApi/) | Blazor/WebApi 模板 | #### `MoYu + SqlSugar` | 模板类型 | 名称 | 版本 | 描述 | | :---------------------------------------------------------------------------------------------------------------------------------------------: | --------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | ---------------------- | | [![nuget](https://shields.io/badge/-NuGet-yellow?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.SqlSugar.Template.Mvc/) | MoYu.SqlSugar.Template.Mvc | [![nuget](https://img.shields.io/nuget/v/MoYu.SqlSugar.Template.Mvc.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.SqlSugar.Template.Mvc/) | Mvc 模板 | | [![nuget](https://shields.io/badge/-NuGet-yellow?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.SqlSugar.Template.Api/) | MoYu.SqlSugar.Template.Api | [![nuget](https://img.shields.io/nuget/v/MoYu.SqlSugar.Template.Api.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.SqlSugar.Template.Api/) | WebApi 模板 | | [![nuget](https://shields.io/badge/-NuGet-yellow?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.SqlSugar.Template.App/) | MoYu.SqlSugar.Template.App | [![nuget](https://img.shields.io/nuget/v/MoYu.SqlSugar.Template.App.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.SqlSugar.Template.App/) | Mvc/WebApi 模板 | | [![nuget](https://shields.io/badge/-NuGet-yellow?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.SqlSugar.Template.Razor/) | MoYu.SqlSugar.Template.Razor | [![nuget](https://img.shields.io/nuget/v/MoYu.SqlSugar.Template.Razor.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.SqlSugar.Template.Razor/) | RazorPages 模板 | | [![nuget](https://shields.io/badge/-NuGet-yellow?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.SqlSugar.Template.RazorWithWebApi/) | MoYu.SqlSugar.Template.RazorWithWebApi | [![nuget](https://img.shields.io/nuget/v/MoYu.SqlSugar.Template.RazorWithWebApi.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.SqlSugar.Template.RazorWithWebApi/) | RazorPages/WebApi 模板 | | [![nuget](https://shields.io/badge/-NuGet-yellow?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.SqlSugar.Template.Blazor/) | MoYu.SqlSugar.Template.Blazor | [![nuget](https://img.shields.io/nuget/v/MoYu.SqlSugar.Template.Blazor.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.SqlSugar.Template.Blazor/) | Blazor 模板 | | [![nuget](https://shields.io/badge/-NuGet-yellow?cacheSeconds=604800)](https://www.nuget.org/packages/MoYu.SqlSugar.Template.BlazorWithWebApi/) | MoYu.SqlSugar.Template.BlazorWithWebApi | [![nuget](https://img.shields.io/nuget/v/MoYu.SqlSugar.Template.BlazorWithWebApi.svg?cacheSeconds=10800)](https://www.nuget.org/packages/MoYu.SqlSugar.Template.BlazorWithWebApi/) | Blazor/WebApi 模板 | **[如何使用脚手架](http://furion.baiqian.ltd/docs/template)** ## 🍎 框架特点 - 全新面貌:基于 `.NET5/6/7/8+` 平台,没有历史包袱 - 极少依赖:框架只依赖两个第三方包 - 极易入门:只需要一个 `Inject()` 即可完成配置 - 极速开发:内置丰富的企业应用开发功能 - 极其灵活:轻松面对多变复杂的需求 - 极易维护:采用独特的架构思想,只为长久维护设计 - 完整文档:提供完善的开发文档 - **跨全平台:支持所有主流操作系统及 .NET 全部项目类型** ## 🥐 框架依赖 `MoYu` 为了追求极速入门,极致性能,尽可能的不使用或减少第三方依赖。目前 `MoYu` 仅集成了以下两个依赖: - [MiniProfiler](https://github.com/MiniProfiler/dotnet):性能分析和监听必备 - [Swashbuckle](https://github.com/domaindrivendev/Swashbuckle.AspNetCore):`Swagger` 接口文档 麻雀虽小五脏俱全。`MoYu` 即使只集成了这两个依赖,但是主流的 `依赖注入/控制反转`,`AOP` 面向切面编程,`事件总线`,`数据验证`,`数据库操作` 等等一个都不少。 ## 🥗 环境要求 - Visual Studio 2019 16.8 + - Visual Studio Code - .NET 5 SDK + ## 🥪 支持平台 - 运行环境 - Windows - Linux - MacOS/MacOS M1 CPU - Docker/K8S/K3S/Rancher - ~~Xamarin/MAUI~~ - 数据库 - SqlServer - Sqlite - Azure Cosmos - MySql - MariaDB - PostgreSQL - InMemoryDatabase - Oracle - Firebird - 达梦数据库 - MongoDB - 应用部署 - Kestrel - Nginx - Jexus - IIS - Apache - PM2 - Supervisor - 独立发布/单文件 - 容器(Docker/K8S/K3S/Rancher/PodMan) ## 🍖 关于性能 `MoYu` 目前采用 `Visual Studio 2019 16.8+` 自带性能测试和 `JMeter` 进行测试,由于篇幅有限,只贴部分测试图,测试结果如下: ## 🍻 贡献代码 `MoYu` 遵循 [MIT](https://gitee.com/dotnetmoyu/MoYu/blob/v4/LICENSE) 开源协议,欢迎大家提交 `Pull Request` 或 `Issue`。 如果要为项目做出贡献,请查看 [贡献指南](/docs/contribute)。感谢每一位为 `MoYu` 贡献代码的朋友。