# 技术栈

**分析日期:** 2026-02-28

## 语言

**主要:**
- C# 12 / .NET 10.0 - 核心平台实现

## 运行时

**环境:**
- .NET 10.0 (ASP.NET Core)
- 运行时: `mcr.microsoft.com/dotnet/aspnet:10.0` (Docker)

**包管理:**
- NuGet
- 源:
  - `https://gitea.shtao1.cn/api/packages/fengling/nuget/index.json` (内部)
  - `https://api.nuget.org/v3/index.json` (NuGet.org)
- 集中版本管理: `Directory.Packages.props`

## 框架

**核心:**
- ASP.NET Core 10.0 - Web 框架
- Entity Framework Core 10.0.0 - ORM

**认证与身份:**
- Microsoft.AspNetCore.Identity.EntityFrameworkCore 10.0.0 - Identity 框架
- OpenIddict.EntityFrameworkCore 7.2.0 - OAuth2/OpenID Connect 服务器

**CQRS 与中介者:**
- MediatR 12.5.0 - 请求/命令处理的中介者模式

**内部框架:**
- NetCorePal.Extensions.Domain.Abstractions 3.2.1
- NetCorePal.Extensions.Primitives 3.2.1
- NetCorePal.Extensions.Repository.EntityFrameworkCore 3.2.1
- NetCorePal.Extensions.Repository.EntityFrameworkCore.Snowflake 3.2.1

## 关键依赖

**数据库:**
- Npgsql.EntityFrameworkCore.PostgreSQL 10.0.0 - EF Core 的 PostgreSQL 提供程序
- Microsoft.EntityFrameworkCore.Design 10.0.0 - EF Core 设计时支持

**基础设施:**
- 无其他明确配置

## 配置

**环境:**
- 配置通过 `Fengling.Platform.Infrastructure/Extensions.cs` 中的 `AddPlatformCore<TContext>()` 扩展方法加载
- 数据库上下文通过 `AddDbContext<TContext>()` 模式注册

**构建:**
- `Directory.Packages.props` - 集中包版本管理
- `NuGet.Config` - 包源配置
- `Dockerfile` - 多阶段构建（基础、构建、发布、最终）

## 平台要求

**开发:**
- .NET 10.0 SDK
- PostgreSQL 数据库
- 支持 C# 的 IDE (Rider, VS, VS Code)

**生产:**
- Docker 容器化（存在 Dockerfile）
- PostgreSQL 数据库
- 多租户租户隔离

---

*技术栈分析: 2026-02-28*
