Plus.Templates 1.0.3
PlusTemplate
PlusTemplate produces the Plus.Templates NuGet template package. The generated application source lives only in content/plus-template/.
The template baseline, database matrix and Blob matrix are defined in F-01 Template 基础, F-12 数据库 Provider and F-13 文件中心. Release scope and current acceptance status are recorded in F-10 生成与发布; see 发布流程 for candidate handoff and release steps.
$env:PLUS_TEMPLATE_POSTGRESQL_TEST_CONNECTION_STRING = '<a disposable PostgreSQL connection string>'
$env:PLUS_TEMPLATE_SQLSERVER_TEST_CONNECTION_STRING = '<a disposable SQL Server connection string>'
$env:PLUS_TEMPLATE_TEST_REDIS_CONFIGURATION = '<a disposable shared Redis configuration>'
$env:PLUS_TEMPLATE_MINIO_TEST_ENDPOINT = 'http://127.0.0.1:9000'
$env:PLUS_TEMPLATE_MINIO_TEST_ACCESS_KEY = '<MinIO access key>'
$env:PLUS_TEMPLATE_MINIO_TEST_SECRET_KEY = '<MinIO secret key>'
$env:PLUS_TEMPLATE_RUSTFS_TEST_ENDPOINT = '<RustFS endpoint>'
$env:PLUS_TEMPLATE_RUSTFS_TEST_ACCESS_KEY = '<RustFS access key>'
$env:PLUS_TEMPLATE_RUSTFS_TEST_SECRET_KEY = '<RustFS secret key>'
pwsh ./eng/verify-template.ps1
The default Full gate packs one candidate and verifies all six database/Blob combinations. Every combination is generated twice before restore, built in Release, published, migrated twice and started in Production with disposable certificates. FileSystem business regressions run on all three databases; S3 file/avatar/branding regressions run on PostgreSQL against both MinIO and RustFS. The database-neutral Web application runs its shared checks once, then serves its production build through Vite preview for a startup probe. Preview is an acceptance tool, not a production Web server.
Database variables must point to pre-created, exclusively owned disposable databases because the gate applies migrations and writes test data. SQLite uses a temporary file. External databases and per-run S3 buckets are not dropped; remove them after inspecting the result. Never point the gate at application data or shared production infrastructure.
Use -PackagePath <candidate.nupkg> on every subsequent environment to verify the same bytes. -Stage Platform exercises six Server combinations and the Web build without repeating shared business tests; it requires the database and MinIO variables. -Stage Web checks installation, build and startup with the other supported Node version, without external infrastructure. Add -WebChecks when a focused rerun also needs Web static analysis and unit tests. See F-10 for the complete Windows/Linux/macOS and Node 22/24 matrix.
The gate uses free loopback ports 5320 and 5666 (Web uses only 5666). -ResultsDirectory <new-directory> selects the evidence destination; the default is a unique directory under artifacts/verification/. It preserves the candidate, SHA-256, generation file hashes, environment versions, check statuses and sanitized logs on success or failure. Temporary generated source and certificates are removed after evidence is saved. A passed run proves only its selected stage on that environment; it does not authorize publishing or replace missing release evidence.
Install a Delivered Package
dotnet new install ./Plus.Templates.1.0.1.nupkg
dotnet new plus-admin -n Acme.BookStore --database postgresql --blob-storage s3 -o ./Acme.BookStore
Use postgresql, sqlserver or sqlite, paired with file-system or s3. The defaults are PostgreSQL and FileSystem. The output contains only server/ and web/, each ready for its own Git repository with tool configuration, Git/editor rules, README and DEPLOYMENT instructions. Open the two directories independently; no files or configuration are shared through the output root. The Server solution in this example is server/Acme.BookStore.Server.sln. Installation of a new template version does not modify existing applications.
| 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 |