Plus.Templates 1.0.15

PlusTemplate

PlusTemplate 用于构建 Plus.Templates NuGet 模板包,生成基于 ABP 的模块化单体应用。content/plus-template/ 是模板应用的唯一源码目录。

模板基线、支持的数据库和文件存储组合分别见 F-01 Template 基础、F-12 数据库 Provider 和 F-13 文件中心。发布范围和当前验收状态见 F-10 生成与发布,候选包交接与发布步骤见发布流程。

模板开发与验收

以下环境变量只用于模板仓库的自动化验收。生成应用的启动使用配置文件,具体步骤见各自的 Server 说明和 Web 说明。

$env:PLUS_TEMPLATE_POSTGRESQL_TEST_CONNECTION_STRING = '<独立、可清理的 PostgreSQL 测试库连接字符串>'
$env:PLUS_TEMPLATE_SQLSERVER_TEST_CONNECTION_STRING = '<独立、可清理的 SQL Server 测试库连接字符串>'
$env:PLUS_TEMPLATE_TEST_REDIS_CONFIGURATION = '<独立、可清理的共享 Redis 连接配置>'
$env:PLUS_TEMPLATE_MINIO_TEST_ENDPOINT = 'http://127.0.0.1:9000'
$env:PLUS_TEMPLATE_MINIO_TEST_ACCESS_KEY = '<MinIO 访问密钥标识>'
$env:PLUS_TEMPLATE_MINIO_TEST_SECRET_KEY = '<MinIO 访问密钥>'
$env:PLUS_TEMPLATE_RUSTFS_TEST_ENDPOINT = '<RustFS 服务地址>'
$env:PLUS_TEMPLATE_RUSTFS_TEST_ACCESS_KEY = '<RustFS 访问密钥标识>'
$env:PLUS_TEMPLATE_RUSTFS_TEST_SECRET_KEY = '<RustFS 访问密钥>'
pwsh ./eng/verify-template.ps1

默认的 Full 验证会打包一个候选,并验证全部六种数据库与文件存储组合。每种组合在还原依赖前生成两次并核对结果,再以 Release 模式构建、发布、执行两次迁移,使用临时证书在 Production 环境启动。FileSystem 的业务回归覆盖三种数据库;S3 的文件、头像和品牌资源回归使用 PostgreSQL,分别连接 MinIO 与 RustFS。Web 不依赖数据库类型,只运行一次公共检查,再通过 Vite preview 启动生产构建产物并探测。Preview 仅用于验收,不能作为生产 Web 服务。

数据库变量必须指向预先创建、由本次验收独占且可清理的测试库,因为验证会执行迁移并写入测试数据。SQLite 使用临时文件。脚本不会删除外部数据库和每次验收创建的 S3 桶,应在核对结果后清理。不要使用应用数据库或共享的生产基础设施进行验收。

在后续环境中使用 -PackagePath <candidate.nupkg> 复用同一个包,确保验证的是相同内容。-Stage Platform 验证六种 Server 组合和 Web 构建,不重复公共业务测试,需要提供数据库与 MinIO 变量。-Stage Web 使用另一个受支持的 Node 版本验证依赖安装、构建和启动,无需外部基础设施;需要补验 Web 静态检查、单元测试和浏览器回归时,加上 -WebChecks。完整的 Windows、Linux、macOS 及 Node 22/24 验收矩阵见 F-10。

验证需要本机回环端口 5320 和 5666 空闲(Web 阶段不使用 5320)。Full 或 -WebChecks 还需要 5667,并自动准备无头 Chromium 执行浏览器回归。通过 -ResultsDirectory <new-directory> 指定结果目录,默认在 artifacts/verification/ 下创建独立目录。无论成功或失败,都会保留候选包、SHA-256、生成文件摘要、环境版本、检查状态及脱敏日志,浏览器失败时另存 trace;保存证据后删除临时生成源码和证书。检查通过只证明所选阶段在当前环境中的结果,不代表获得发布授权,也不能替代尚未完成的发布验收。

安装模板并创建项目

dotnet new install ./Plus.Templates.<版本>.nupkg
dotnet new plus-admin -n Acme.BookStore --database postgresql --blob-storage s3 -o ./Acme.BookStore

工程名使用英文字母、数字和点,各段以字母开头,去点后为 1~55 位;中文产品名称通过品牌设置配置。名称支持范围和默认资源名约定见工程命名。

已发布版本及其包摘要见发布记录;从 BaGet 源安装的命令见发布流程。数据库可选 postgresql、sqlserver 或 sqlite,文件存储可选 file-system 或 s3,默认使用 PostgreSQL 和 FileSystem。生成目录只包含 server/ 和 web/,两端各自具备工具配置、Git 与编辑器规则、README 和部署说明,可以分别建立 Git 仓库。开发时独立打开两个目录,不通过父目录共享文件或配置。上述示例的 Server 解决方案为 server/Acme.BookStore.Server.slnx。安装新版模板只影响后续生成,不会修改已有应用。

This package has no dependencies.

Version Downloads Last updated
1.0.39 3 10/11/2026
1.0.38 3 10/10/2026
1.0.37 3 10/09/2026
1.0.36 3 10/09/2026
1.0.35 3 10/09/2026
1.0.34 3 10/08/2026
1.0.33 3 10/08/2026
1.0.32 3 10/08/2026
1.0.31 3 10/08/2026
1.0.30 3 10/07/2026
1.0.29 3 10/07/2026
1.0.28 3 10/06/2026
1.0.27 3 10/05/2026
1.0.26 3 10/05/2026
1.0.25 3 10/04/2026
1.0.24 3 09/30/2026
1.0.23 3 09/30/2026
1.0.22 3 09/30/2026
1.0.21 3 09/29/2026
1.0.20 3 09/29/2026
1.0.19 3 09/29/2026
1.0.18 3 09/27/2026
1.0.17 3 09/26/2026
1.0.16 3 09/24/2026
1.0.15 3 09/23/2026
1.0.14 3 09/22/2026
1.0.13 3 09/22/2026
1.0.12 3 09/21/2026
1.0.11 3 09/21/2026
1.0.10 3 09/19/2026
1.0.9 3 09/18/2026
1.0.8 3 09/16/2026
1.0.7 3 09/16/2026
1.0.6 3 09/16/2026
1.0.5 3 09/15/2026
1.0.4 3 09/15/2026
1.0.3 3 09/15/2026
1.0.2 4 09/13/2026
1.0.1 3 09/13/2026
1.0.0 4 09/13/2026