













基于官方教程,前前后后走了N遍。好多地方不清楚,为什么会有这效果,有一堆的问号。哪些是必须的?哪些是不必须的?
经过N长时间的研究,自己也搭建多无数个精简的Abp解决方案。在这过程中,出现一堆莫名其妙的问题。
有幸,最终摸索出可以通过Swagger可以调用数据库的项目。所以决定写下操作过程,加以巩固,并共勉之。
创建名为 Acme.BookStore 的新解决方案。基于Abp官方教程中领域分层,分别创建以下项目:
Acme.BookStore.DomainAcme.BookStore.Domain.SharedAcme.BookStore.ApplicationAcme.BookStore.Application.ContractsAcme.BookStore.EntityFrameworkCoreAcme.BookStore.EntityFrameworkCore.DbMigrationsAcme.BookStore.WebApi(空白模版)Acme.BookStore.Application
Acme.BookStore.DomainAcme.BookStore.Application.ContractsAcme.BookStore.Application.Contracts
Acme.BookStore.Domain.SharedAcme.BookStore.Domain
Acme.BookStore.Domain.SharedAcme.BookStore.EntityFrameworkCore
Acme.BookStore.DomainAcme.BookStore.EntityFrameworkCore.DbMigrations
Acme.BookStore.EntityFrameworkCoreAcme.BookStore.WebApi
Acme.BookStore.Application.ApplicationAcme.BookStore.EntityFrameworkCore.DbMigrationsAcme.BookStore.Application
Volo.Abp.Ddd.ApplicationVolo.Abp.AutoMapperAcme.BookStore.Application.Contracts
Volo.Abp.Ddd.Application.ContractsAcme.BookStore.Domain
Volo.Abp.Ddd.DomainAcme.BookStore.Domain.Shared
Volo.Abp.CoreAcme.BookStore.EntityFrameworkCore
Volo.Abp.EntityFrameworkCore.SqlServerAcme.BookStore.EntityFrameworkCore.DbMigrations
Microsoft.EntityFrameworkCore.ToolsAcme.BookStore.WebApi
Swashbuckle.AspNetCoreVolo.Abp.AspNetCore.MvcVolo.Abp.AutofacAcme.BookStore.Application代码替换:<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.AutoMapper" Version="3.2.1" />
<PackageReference Include="Volo.Abp.Ddd.Application" Version="3.2.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Acme.BookStore.Application.Contracts\Acme.BookStore.Application.Contracts.csproj" />
<ProjectReference Include="..\Acme.BookStore.Domain\Acme.BookStore.Domain.csproj" />
</ItemGroup>
</Project>
Acme.BookStore.Application.Contracts代码替换:<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.Ddd.Application.Contracts" Version="3.2.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Acme.BookStore.Domain.Shared\Acme.BookStore.Domain.Shared.csproj" />
</ItemGroup>
</Project>
Acme.BookStore.Domain代码替换:<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.Ddd.Domain" Version="3.2.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Acme.BookStore.Domain.Shared\Acme.BookStore.Domain.Shared.csproj" />
</ItemGroup>
</Project>
Acme.BookStore.Domain.Shared代码替换:<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.Core" Version="3.2.1" />
</ItemGroup>
</Project>
Acme.BookStore.EntityFrameworkCore代码替换:<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.EntityFrameworkCore.SqlServer" Version="3.2.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Acme.BookStore.Domain\Acme.BookStore.Domain.csproj" />
</ItemGroup>
</Project>
Acme.BookStore.EntityFrameworkCore.DbMigrations代码替换:<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.8">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Acme.BookStore.EntityFrameworkCore\Acme.BookStore.EntityFrameworkCore.csproj" />
</ItemGroup>
</Project>
Acme.BookStore.WebApi代码替换:<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Swashbuckle.AspNetCore" Version="5.6.3" />
<PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="3.2.1" />
<PackageReference Include="Volo.Abp.Autofac" Version="3.2.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Acme.BookStore.Application\Acme.BookStore.Application.csproj" />
<ProjectReference Include="..\Acme.BookStore.EntityFrameworkCore.DbMigrations\Acme.BookStore.EntityFrameworkCore.DbMigrations.csproj" />
</ItemGroup>
</Project>
分别对创建的项目,统一添加以Module结尾类名称(可以重命名Class1.cs)
Acme.BookStore.Application
BookStoreApplicationModule.csAcme.BookStore.Application.Contracts
BookStoreApplicationContractsModule.csAcme.BookStore.Domain
BookStoreDomainModule.csAcme.BookStore.Domain.Shared
BookStoreDomainSharedModule.csAcme.BookStore.EntityFrameworkCore
BookStoreEntityFrameworkCoreModule.csAcme.BookStore.EntityFrameworkCore.DbMigrations
BookStoreEntityFrameworkCoreDbMigrationsModule.csAcme.BookStore.WebApi
BookStoreWebApiModule.cs各个项目中创建Module类完后,都继承AbpModule。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。