控制台使用 Abp
1. 安装 Volo.Abp.Core
并生成项目,生成是为了还原 Nuget 包
选择合适版本安装
<ItemGroup>
<PackageReference Include="Volo.Abp.Castle.Core" Version="6.0.1" />
</ItemGroup>
2. 创建自己的入口 Module,需要继承自 AbpModule
public class MyModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Console.WriteLine("Hello, ConfigureServices!");
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
Console.WriteLine("Hello, OnApplicationInitialization!");
}
}
3. 使用 AbpApplicationFactory
创建一个 app
- 使用
await AbpApplicationFactory.CreateAsync<MyModule>()
创建一个应用
这里表示使用 MyModule 作为入口模块。此时,这里所有依赖的模块内重写后的ConfigureService方法 (以及所有的Pre、Post前缀的方法)都会被执行。 - 使用
await app.InitializeAsync();
或者app.Initialize();
,初始化应用
主要就是根据配置的 ServiceCollection 创建一个 ServiceProvider
这个方法执行的时候会把入口模块相关的所有模块内重写的OnApplicationInitialization()
以及所有Pre、Post前缀的方法都执行一遍(暂时不管)
using Volo.Abp;
using Volo.Abp.Modularity;
// 创建一个 Abp 应用
var app = await AbpApplicationFactory.CreateAsync<MyModule>();
// 初始化应用
await app.InitializeAsync();
4. 运行控制台输出
Hello, ConfigureServices!
Hello, OnApplicationInitialization!
其他
Volo.Abp.Core
是基于 .NETStandard2.0
封装
Framework4.6.1
或者任何 Core
版本都能使用。也就是说控制台程序,甚至 Winform
其实都是可以使用这个的。