定义
Abp vNext是ABP团队从2017年开始基于.Net Core对ASP.NET Boilerplate的重写版本,并且正式命名为Abp Framework
,也称Abp vNext或者ABP
使用
控制台程序中应用ABP | 例1 |
Asp.net core中应用ABP | 例2 |
创建ABP项目 | 例3 例4 |
例1
控制台程序中使用ABP框架
-
Nuget安装
Volo.Abp.Core
-
创建模块类:HelloAbpModule.cs
using Volo.Abp.Modularity; namespace HelloAbp { public class HelloAbpModule:AbpModule { } }
-
创建服务类:HelloWorldService.cs
using System; using Volo.Abp.DependencyInjection; namespace HelloAbp { public class HelloWorldService: ITransientDependency//实现此接口的服务会自动注册 { public void Run() { Console.WriteLine("hello world"); } } }
-
创建应用
using Microsoft.Extensions.DependencyInjection; using Volo.Abp; namespace HelloAbp { class Program { static void Main(string[] args) { var application = AbpApplicationFactory.Create<HelloAbpModule>(); application.Initialize(); var service = application.ServiceProvider.GetService<HelloWorldService>(); service.Run(); } } }
例2
在Asp.net core中应用ABP
-
创新空Asp.net Core应用
-
Nuget中安装
Volo.Abp.AspNetCore.Mvc
和Volo.Abp.Core
-
创建启动模块类:AppModule.cs
using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.Hosting; using Volo.Abp; using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.Modularity; namespace WebApplication { [DependsOn(typeof(AbpAspNetCoreMvcModule))] public class AppModule:AbpModule { public override void OnApplicationInitialization(ApplicationInitializationContext context) { //Startup类中中间件管道的配置移动到此 var app = context.GetApplicationBuilder(); var env = context.GetEnvironment(); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseRouting(); app.UseConfiguredEndpoints(); } } }
-
注册启动模块并初始化应用
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.DependencyInjection; namespace WebApplication { public class Startup { public void ConfigureServices(IServiceCollection services) { services.AddApplication<AppModule>(); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.InitializeApplication(); } } }
-
创建控制器
using Microsoft.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc; namespace WebApplication.Controllers { public class HomeController:AbpController { public IActionResult Index() { return Content("hello world"); } } }
例3
使用命令行工具创建ABP项目
-
安装Volo.Abp Cli
dotnet tool install -g Volo.Abp.Cli
-
执行以下命令创建项目
abp new DemoProjectName //abp new AbpDemo -t module --no-ui --create-solution-folder
例4
创建一个控制台应用
abp new nameLv1.MyConsoleApp -t console