ABP Framework is a complete infrastructure based on the ASP.NET Core to create modern web applications and APIs by following the software development best practices and the latest technologies.
Install the ABP CLI:
> dotnet tool install -g Volo.Abp.Cli
Create a new solution:
> abp new BookStore -u mvc -d ef
See the CLI documentation for all available options.
ABP provides a full stack developer experience.
ABP offers a complete, modular and layered software architecture based on Domain Driven Design principles and patterns. It also provides the necessary infrastructure and guiding to implement this architecture.
ABP Framework is suitable for microservice solutions as well as monolithic applications.
There are a lot of features provided by the ABP Framework to achieve real world scenarios easier, like Event Bus, Background Job System, Audit Logging, BLOB Storing, Data Seeding, Data Filtering, etc.
ABP also simplifies (and even automates wherever possible) cross cutting concerns and common non-functional requirements like Exception Handling, Validation, Authorization, Localization, Caching, Dependency Injection, Setting Management, etc.
ABP is a modular framework and the Application Modules provide pre-built application functionalities;
See the Application Modules document for all pre-built modules.
The Startup templates are pre-built Visual Studio solution templates. You can create your own solution based on these templates to immediately start your development.
The ABP Community is a website to publish articles and share knowledge about the ABP Framework. You can also create content for the community!
Follow the ABP Blog to learn the latest happenings in the ABP Framework.
See the sample projects built with the ABP Framework.
ABP is a community-driven open source project. See the contribution guide if you want to be a part of this project.
Love ABP Framework? Please give a star to this repository
See also ABP Commercial if you are looking for pre-built application modules, professional themes, code generation tooling and premium support for the ABP Framework.
ABP是ASP.NET Boilerplate Project (ASP.NET样板项目)的简称。 ABP 适用的场景:中小规模 WEB 应用开发,可直接使用 ABP 框架。 较大型项目可以在 ABP 框架的源码基础上进行扩展,以实现分布式架构。 ABP的层次: 为了减少复杂性和提高代码的可重用性,采用分层架构是一种被广泛接受的技术。 为了实现分层的体系结构,ABP遵循DDD(领域驱动设计)的原则
什么是ABP ABP是“ASP.NET Boilerplate Project” 的简称。 ABP 是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序基础框架和项目模板。 ABP是基于DDD的经典分层架构思想,实现了众多DDD的概念。 ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:ht
问题内容: 我正在尝试阅读我的iOS通讯录的联系人图像,但遇到了一些 麻烦。 我有一个读取ABAddressBookRef的联系人信息 并将其放在结构上的方法。 but when I debug it, it stops on: 并且不显示任何错误消息。 我究竟做错了什么? 我正在使用模拟器的默认联系人对其进行测试,他们没有图像, 但是有占位符及其名字的第一个字母。 编辑: 我将代码更改为 并且在
本文向大家介绍ABP框架中的日志功能完全解析,包括了ABP框架中的日志功能完全解析的使用技巧和注意事项,需要的朋友参考一下 ASP.NET Boilerplate使用Castle Windsor's logging facility日志记录工具,并且可以使用不同的日志类库,比如:Log4Net, NLog, Serilog... 等等。对于所有的日志类库,Castle提供了一个通用的接口来实现,我
本文向大家介绍详解ABP框架的参数有效性验证和权限验证,包括了详解ABP框架的参数有效性验证和权限验证的使用技巧和注意事项,需要的朋友参考一下 参数有效性验证 应用程序的输入数据首先应该被检验是否有效。输入的数据能被用户或其他应用程序提交。在Web应用中,通常进行2次数据有效性检验:包括客户端检验和服务端检验。客户端的检验主要是使用户有一个好的用户体验。 首先最好是在客户端检验其表单输入的有效性并
本文向大家介绍解析ABP框架领域层中的实体类与仓储类,包括了解析ABP框架领域层中的实体类与仓储类的使用技巧和注意事项,需要的朋友参考一下 领域层 实体是DDD(领域驱动设计)的核心概念之一。Eric Evans是这样描述的“很多对象不是通过它们的属性定义的,而是通过一连串的连续性事件和标识定义的”(引用领域驱动设计一书)。 译者注:对象不是通过它们的属性来下根本性的定义,而应该是通过它的线性连续
本文向大家介绍ABP框架的基础配置及依赖注入讲解,包括了ABP框架的基础配置及依赖注入讲解的使用技巧和注意事项,需要的朋友参考一下 配置ABP 配置是通过在自己模块的PreInitialize方法中来实现的 代码示例如下: 和orchard类似,abp框架一开始就被设计成模块化的,不同的模块可以通过abp框架来进行配置。举个例子吧,不同的模块都可以添加导航,通过导航添加菜单项到自己定义的主菜单,具
本文向大家介绍ABP框架的体系结构及模块系统讲解,包括了ABP框架的体系结构及模块系统讲解的使用技巧和注意事项,需要的朋友参考一下 DDD分层 为了减少复杂性和提高代码的可重用性,采用分层架构是一种被广泛接受的技术。 为了实现分层的体系结构,ABP遵循DDD(领域驱动设计)的原则,将分为四个层次: 展现层(Presentation):提供一个用户界面,实现用户交互操作。 应用层(Applicati
本文向大家介绍ASP.NET样板项目ABP框架的特性总结,包括了ASP.NET样板项目ABP框架的特性总结的使用技巧和注意事项,需要的朋友参考一下 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称。 ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板。
本文向大家介绍基于ASP.NET MVC的ABP框架入门学习教程,包括了基于ASP.NET MVC的ABP框架入门学习教程的使用技巧和注意事项,需要的朋友参考一下 为什么使用ABP 我们近几年陆续开发了一些Web应用和桌面应用,需求或简单或复杂,实现或优雅或丑陋。一个基本的事实是:我们只是积累了一些经验或提高了对,NET的熟悉程度。 随着软件开发经验的不断增加,我们发现其实很多工作都是重复机械的,