{"id":13399305,"url":"https://github.com/aspnetboilerplate/aspnetboilerplate","last_synced_at":"2025-05-12T20:45:01.309Z","repository":{"id":10129833,"uuid":"12201538","full_name":"aspnetboilerplate/aspnetboilerplate","owner":"aspnetboilerplate","description":"ASP.NET Boilerplate - Web Application Framework","archived":false,"fork":false,"pushed_at":"2025-04-24T13:23:11.000Z","size":64931,"stargazers_count":11914,"open_issues_count":149,"forks_count":3818,"subscribers_count":767,"default_branch":"dev","last_synced_at":"2025-05-05T16:05:52.569Z","etag":null,"topics":["abp","architecture","aspnet","aspnet-core","aspnetcore","best-practices","c-sharp","csharp","domain-driven-design","dotnet","dotnet-core","framework","multi-tenancy","nlayer-architecture"],"latest_commit_sha":null,"homepage":"https://aspnetboilerplate.com","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aspnetboilerplate.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2013-08-18T20:45:08.000Z","updated_at":"2025-05-01T01:46:16.000Z","dependencies_parsed_at":"2023-10-20T18:03:23.889Z","dependency_job_id":"89bcbbc4-7e26-4c43-93fd-dc34056f020e","html_url":"https://github.com/aspnetboilerplate/aspnetboilerplate","commit_stats":null,"previous_names":[],"tags_count":250,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aspnetboilerplate%2Faspnetboilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aspnetboilerplate%2Faspnetboilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aspnetboilerplate%2Faspnetboilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aspnetboilerplate%2Faspnetboilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aspnetboilerplate","download_url":"https://codeload.github.com/aspnetboilerplate/aspnetboilerplate/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253818514,"owners_count":21969176,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["abp","architecture","aspnet","aspnet-core","aspnetcore","best-practices","c-sharp","csharp","domain-driven-design","dotnet","dotnet-core","framework","multi-tenancy","nlayer-architecture"],"created_at":"2024-07-30T19:00:36.147Z","updated_at":"2025-05-12T20:45:01.262Z","avatar_url":"https://github.com/aspnetboilerplate.png","language":"C#","funding_links":[],"categories":["Frameworks, Libraries and Tools","C# #","C#","Application Frameworks","应用框架","面试",".NET",".Net","应用框架（Application Frameworks）","C\\#","前端开发框架及项目","框架, 库和工具","🗒️ Cheatsheets"],"sub_categories":["Application Frameworks","其他_文本生成、文本对话","应用程序框架","📦 Libraries"],"readme":"# ASP.NET Boilerplate\n\n[![Build Status](https://github.com/aspnetboilerplate/aspnetboilerplate/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/aspnetboilerplate/aspnetboilerplate/actions/workflows/build-and-test.yml)\n[![NuGet](https://img.shields.io/nuget/v/Abp.svg?style=flat-square)](https://www.nuget.org/packages/Abp)\n[![MyGet (with prereleases)](https://img.shields.io/myget/abp-nightly/vpre/Abp.svg?style=flat-square)](https://aspnetboilerplate.com/Pages/Documents/Nightly-Builds)\n[![NuGet Download](https://img.shields.io/nuget/dt/Abp.svg?style=flat-square)](https://www.nuget.org/packages/Abp)\n\n\u003e [!WARNING]\n\u003e ### End of Support Announcement\n\u003e Support for ASP.NET Boilerplate will officially end in **May 2026**. However, we will continue to provide support for [ASP.NET Zero](https://aspnetzero.com/?utm_source=referral\u0026utm_medium=github\u0026utm_campaign=github_zerowebsite_redirection) **customers** using ASP.NET Boilerplate. For those looking for an open-source alternative, we recommend migrating to [ABP Framework](https://abp.io/?utm_source=referral\u0026utm_medium=github\u0026utm_campaign=github_abpwebsite_redirection). For the full story, [read the end of life announcement](https://aspnetboilerplate.com/endofsupport?utm_source=referral\u0026utm_medium=github\u0026utm_campaign=github_zboilerplate_announcement_redirection).\n\n## What is ABP?\n\n[ASP.NET Boilerplate](https://aspnetboilerplate.com) is a general purpose **application framework** specially designed for new modern web applications. It uses already **familiar tools** and implements **best practices** around them to provide you a **SOLID development experience**.\n\nASP.NET Boilerplate works with the latest **ASP.NET Core** \u0026 **EF Core** but also supports ASP.NET MVC 5.x \u0026 EF 6.x as well.\n\n###### Modular Design\n\nDesigned to be \u003ca href=\"https://aspnetboilerplate.com/Pages/Documents/Module-System\" target=\"_blank\"\u003e**modular**\u003c/a\u003e and **extensible**, ABP provides the infrastructure to build your own modules, too.\n\n###### Multi-Tenancy\n\n**SaaS** applications made easy! Integrated \u003ca href=\"https://aspnetboilerplate.com/Pages/Documents/Multi-Tenancy\" target=\"_blank\"\u003emulti-tenancy\u003c/a\u003e from database to UI.\n\n###### Well-Documented\n\nComprehensive \u003ca href=\"https://aspnetboilerplate.com/Pages/Documents\" target=\"_blank\"\u003e**documentation**\u003c/a\u003e and quick start tutorials.\n\n## How It Works\n\nDon't Repeat Yourself! ASP.NET Boilerplate automates common software development tasks by convention. You focus on your business code!\n\n![ASP.NET Boilerplate](doc/img/abp-concerns.png)\n\nSee the \u003ca href=\"https://aspnetboilerplate.com/Pages/Documents/Introduction\" target=\"_blank\"\u003eIntroduction\u003c/a\u003e document for more details.\n\n## Layered Architecture\n\nABP provides a layered architectural model based on **Domain Driven Design** and provides a **SOLID** model for your application.\n\n![NLayer Architecture](doc/img/abp-nlayer-architecture.png)\n\nSee the \u003ca href=\"https://aspnetboilerplate.com/Pages/Documents/NLayer-Architecture\" target=\"_blank\"\u003eNLayer Architecture\u003c/a\u003e document for more details.\n\n## Nuget Packages\n\nASP.NET Boilerplate is distributed as NuGet packages.\n\n|Package|Status|\n|:------|:-----:|\n|Abp|[![NuGet version](https://badge.fury.io/nu/Abp.svg)](https://badge.fury.io/nu/Abp)|\n|Abp.AspNetCore|[![NuGet version](https://badge.fury.io/nu/Abp.AspNetCore.svg)](https://badge.fury.io/nu/Abp.AspNetCore)|\n|Abp.Web.Common|[![NuGet version](https://badge.fury.io/nu/Abp.Web.Common.svg)](https://badge.fury.io/nu/Abp.Web.Common)|\n|Abp.Web.Resources|[![NuGet version](https://badge.fury.io/nu/Abp.Web.Resources.svg)](https://badge.fury.io/nu/Abp.Web.Resources)|\n|Abp.EntityFramework.Common|[![NuGet version](https://badge.fury.io/nu/Abp.EntityFramework.Common.svg)](https://badge.fury.io/nu/Abp.EntityFramework.Common)|\n|Abp.EntityFramework|[![NuGet version](https://badge.fury.io/nu/Abp.EntityFramework.svg)](https://badge.fury.io/nu/Abp.EntityFramework)|\n|Abp.EntityFrameworkCore|[![NuGet version](https://badge.fury.io/nu/Abp.EntityFrameworkCore.svg)](https://badge.fury.io/nu/Abp.EntityFrameworkCore)|\n|Abp.NHibernate|[![NuGet version](https://badge.fury.io/nu/Abp.NHibernate.svg)](https://badge.fury.io/nu/Abp.NHibernate)|\n|Abp.Dapper|[![NuGet version](https://badge.fury.io/nu/Abp.Dapper.svg)](https://badge.fury.io/nu/Abp.Dapper)|\n|Abp.FluentMigrator|[![NuGet version](https://badge.fury.io/nu/Abp.FluentMigrator.svg)](https://badge.fury.io/nu/Abp.FluentMigrator)|\n|Abp.AspNetCore|[![NuGet version](https://badge.fury.io/nu/Abp.AspNetCore.svg)](https://badge.fury.io/nu/Abp.AspNetCore)|\n|Abp.AspNetCore.SignalR|[![NuGet version](https://badge.fury.io/nu/Abp.AspNetCore.SignalR.svg)](https://badge.fury.io/nu/Abp.AspNetCore.SignalR)|\n|Abp.AutoMapper|[![NuGet version](https://badge.fury.io/nu/Abp.AutoMapper.svg)](https://badge.fury.io/nu/Abp.AutoMapper)|\n|Abp.HangFire|[![NuGet version](https://badge.fury.io/nu/Abp.HangFire.svg)](https://badge.fury.io/nu/Abp.HangFire)|\n|Abp.HangFire.AspNetCore|[![NuGet version](https://badge.fury.io/nu/Abp.HangFire.AspNetCore.svg)](https://badge.fury.io/nu/Abp.HangFire.AspNetCore)|\n|Abp.Castle.Log4Net|[![NuGet version](https://badge.fury.io/nu/Abp.Castle.Log4Net.svg)](https://badge.fury.io/nu/Abp.Castle.Log4Net)|\n|Abp.RedisCache|[![NuGet version](https://badge.fury.io/nu/Abp.RedisCache.svg)](https://badge.fury.io/nu/Abp.RedisCache)|\n|Abp.RedisCache.ProtoBuf|[![NuGet version](https://badge.fury.io/nu/Abp.RedisCache.ProtoBuf.svg)](https://badge.fury.io/nu/Abp.RedisCache.ProtoBuf)|\n|Abp.MailKit|[![NuGet version](https://badge.fury.io/nu/Abp.MailKit.svg)](https://badge.fury.io/nu/Abp.MailKit)|\n|Abp.Quartz|[![NuGet version](https://badge.fury.io/nu/Abp.Quartz.svg)](https://badge.fury.io/nu/Abp.Quartz)|\n|Abp.TestBase|[![NuGet version](https://badge.fury.io/nu/Abp.TestBase.svg)](https://badge.fury.io/nu/Abp.TestBase)|\n|Abp.AspNetCore.TestBase|[![NuGet version](https://badge.fury.io/nu/Abp.AspNetCore.TestBase.svg)](https://badge.fury.io/nu/Abp.AspNetCore.TestBase)|\n\n# Module Zero\n\n## What is 'Module Zero'?\n\nThis is an \u003ca href=\"https://aspnetboilerplate.com/\" target=\"_blank\"\u003eASP.NET Boilerplate\u003c/a\u003e module integrated with Microsoft \u003ca href=\"https://docs.microsoft.com/en-us/aspnet/identity/overview/getting-started/introduction-to-aspnet-identity\" target=\"_blank\"\u003eASP.NET Identity\u003c/a\u003e.\n\nImplements abstract concepts of ASP.NET Boilerplate framework:\n\n* \u003ca href=\"https://aspnetboilerplate.com/Pages/Documents/Setting-Management\" target=\"_blank\"\u003eSetting store\u003c/a\u003e\n* \u003ca href=\"https://aspnetboilerplate.com/Pages/Documents/Audit-Logging\" target=\"_blank\"\u003eAudit log store\u003c/a\u003e\n* \u003ca href=\"https://aspnetboilerplate.com/Pages/Documents/Background-Jobs-And-Workers\" target=\"_blank\"\u003eBackground job store\u003c/a\u003e\n* \u003ca href=\"https://aspnetboilerplate.com/Pages/Documents/Feature-Management\" target=\"_blank\"\u003eFeature store\u003c/a\u003e\n* \u003ca href=\"https://aspnetboilerplate.com/Pages/Documents/Notification-System\" target=\"_blank\"\u003eNotification store\u003c/a\u003e\n* \u003ca href=\"https://aspnetboilerplate.com/Pages/Documents/Authorization\" target=\"_blank\"\u003ePermission checker\u003c/a\u003e\n\nAlso adds common enterprise application features:\n\n* **\u003ca href=\"https://aspnetboilerplate.com/Pages/Documents/Zero/User-Management\" target=\"_blank\"\u003eUser\u003c/a\u003e, \u003ca href=\"https://aspnetboilerplate.com/Pages/Documents/Zero/Role-Management\" target=\"_blank\"\u003eRole\u003c/a\u003e and \u003ca href=\"https://aspnetboilerplate.com/Pages/Documents/Zero/Permission-Management\" target=\"_blank\"\u003ePermission\u003c/a\u003e** management for applications that require authentication and authorization.\n* **\u003ca href=\"https://aspnetboilerplate.com/Pages/Documents/Zero/Tenant-Management\" target=\"_blank\"\u003eTenant\u003c/a\u003e and \u003ca href=\"https://aspnetboilerplate.com/Pages/Documents/Zero/Edition-Management\" target=\"_blank\"\u003eEdition\u003c/a\u003e** management for SaaS applications.\n* **\u003ca href=\"https://aspnetboilerplate.com/Pages/Documents/Zero/Organization-Units\" target=\"_blank\"\u003eOrganization Units\u003c/a\u003e** management.\n* **\u003ca href=\"https://aspnetboilerplate.com/Pages/Documents/Zero/Language-Management\" target=\"_blank\"\u003eLanguage and localization\u003c/a\u003e text** management.\n* **\u003ca href=\"https://aspnetboilerplate.com/Pages/Documents/Zero/Identity-Server\" target=\"_blank\"\u003eIdentity Server 4\u003c/a\u003e** integration.\n\nModule Zero packages define entities and implement base domain logic for these concepts.\n\n## NuGet Packages\n\n### ASP.NET Core Identity Packages\n\nPackages integrated into \u003ca href=\"https://docs.microsoft.com/en-us/aspnet/identity/overview/getting-started/introduction-to-aspnet-identity\" target=\"_blank\"\u003eASP.NET Core Identity\u003c/a\u003e and \u003ca href=\"http://identityserver.io/\" target=\"_blank\"\u003eIdentity Server 4\u003c/a\u003e (supports .NET Standard).\n\n|Package|Status|\n|:------|:-----:|\n|Abp.ZeroCore|[![NuGet version](https://badge.fury.io/nu/Abp.ZeroCore.svg)](https://badge.fury.io/nu/Abp.ZeroCore)|\n|Abp.ZeroCore.EntityFrameworkCore|[![NuGet version](https://badge.fury.io/nu/Abp.ZeroCore.EntityFrameworkCore.svg)](https://badge.fury.io/nu/Abp.ZeroCore.EntityFrameworkCore)|\n|Abp.ZeroCore.IdentityServer4|[![NuGet version](https://badge.fury.io/nu/Abp.ZeroCore.IdentityServer4.svg)](https://badge.fury.io/nu/Abp.ZeroCore.IdentityServer4)|\n|Abp.ZeroCore.IdentityServer4.EntityFrameworkCore|[![NuGet version](https://badge.fury.io/nu/Abp.ZeroCore.IdentityServer4.vNext.EntityFrameworkCore.svg)](https://badge.fury.io/nu/Abp.ZeroCore.IdentityServer4.EntityFrameworkCore)|\n|Abp.ZeroCore.IdentityServer4.vNext|[![NuGet version](https://badge.fury.io/nu/Abp.ZeroCore.IdentityServer4.svg)](https://badge.fury.io/nu/Abp.ZeroCore.IdentityServer4.vNext)|\n|Abp.ZeroCore.IdentityServer4.vNext.EntityFrameworkCore|[![NuGet version](https://badge.fury.io/nu/Abp.ZeroCore.IdentityServer4.vNext.EntityFrameworkCore.svg)](https://badge.fury.io/nu/Abp.ZeroCore.IdentityServer4.vNext.EntityFrameworkCore)|\n\n### Shared Packages\n\nShared packages between the Abp.ZeroCore.\\* and Abp.Zero.\\* packages.\n\n|Package|Status|\n|:------|:-----:|\n|Abp.Zero.Common|[![NuGet version](https://badge.fury.io/nu/Abp.Zero.Common.svg)](https://badge.fury.io/nu/Abp.Zero.Common)|\n|Abp.Zero.Ldap|[![NuGet version](https://badge.fury.io/nu/Abp.Zero.Ldap.svg)](https://badge.fury.io/nu/Abp.Zero.Ldap)|\n\n## Startup Templates\n\nYou can create your project from startup templates to easily start with Module Zero:\n\n* \u003ca href=\"https://aspnetboilerplate.com/Pages/Documents/Zero/Startup-Template-Angular\" target=\"_blank\"\u003eASP.NET Core \u0026 Angular\u003c/a\u003e based startup project.\n* \u003ca href=\"https://aspnetboilerplate.com/Pages/Documents/Zero/Startup-Template-Core\" target=\"_blank\"\u003eASP.NET Core MVC \u0026 jQuery\u003c/a\u003e based startup project.\n* \u003ca href=\"https://aspnetboilerplate.com/Pages/Documents/Zero/Startup-Template\" target=\"_blank\"\u003eASP.NET Core MVC 5.x / AngularJS\u003c/a\u003e based startup project.\n\nA screenshot of the ASP.NET Core based startup template:\n\n![](doc/img/module-zero-core-template-1.png)\n\n## Links\n\n* Web site \u0026 Documentation: https://aspnetboilerplate.com\n* Questions \u0026 Answers: https://stackoverflow.com/questions/tagged/aspnetboilerplate?sort=newest\n\n## Code of Conduct\n\nThis project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community.\nFor more information see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct). \n\n### .NET Foundation\n\nThis project is supported by the [.NET Foundation](https://dotnetfoundation.org).\n\n## License\n\n[MIT](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faspnetboilerplate%2Faspnetboilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faspnetboilerplate%2Faspnetboilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faspnetboilerplate%2Faspnetboilerplate/lists"}