Loading...
Loading...
Compares two or more dotnet new templates side by side to help users choose between them based on parameters, feature support, frameworks, and classifications. USE FOR: deciding between similar templates (webapi vs webapp, blazor vs blazorwasm, console vs worker), producing a side-by-side comparison of parameters and feature support, understanding how templates differ before creating a project. DO NOT USE FOR: creating a project from a template (use template-instantiation), authoring or validating custom templates (use template-authoring and template-validation), general single-template discovery (use template-discovery).
npx skill4agent add dotnet/skills template-comparisondotnet newwebapiwebappblazorblazorwasmtemplate-instantiationtemplate-authoringtemplate-validationtemplate-discovery| Input | Required | Description |
|---|---|---|
| Template short names | Yes | Two or more template short names to compare (e.g., |
| Comparison focus | No | Optional aspect to emphasize (auth, AOT, frameworks, interactivity) |
dotnet new <template> --helpdotnet new webapi --help
dotnet new webapp --helpdotnet new search <keyword>dotnet new install <package>Runcalls sequentially. The template engine uses a global mutex, so running several--helpcommands concurrently can fail with a transient "mutex"/"persistence" error and empty output. Inspect templates one at a time; if a call fails, retry it once before moving on, and still produce the comparison from whatever parameter knowledge you have rather than ending with no answer.dotnet new <template> --help
| Aspect | | |
|---|---|---|
Auth ( | None, Individual, SingleOrg, Windows | None, Individual, SingleOrg, ... |
AOT ( | present if | present if |
Controllers ( | Yes | n/a |
| Interactivity | n/a | n/a |
| Frameworks | net8.0 / net9.0 / net10.0 | net8.0 / net9.0 / net10.0 |
| Classifications | Web, WebAPI | Web, Razor Pages |
Recommendation:— one sentence tying the choice to the user's stated scenario. (Pick the other if<template>.)<condition>
template-instantiation--help| Pair | Default pick | Because |
|---|---|---|
| | webapi ships controllers/minimal APIs + OpenAPI, no UI |
| | Standalone WASM runs fully client-side, works offline |
| | Generic Host: DI, logging, config, graceful shutdown, |
| | Razor Pages is lighter for CRUD-style pages |
dotnet new <template> --help| Pitfall | Solution |
|---|---|
| Comparing uninstalled templates from memory | Install and inspect each template so the comparison reflects the real parameters and choices. |
| Assuming feature parity | Parameter names and feature support vary by template — confirm each with |
| Comparing fundamentally different template types | Only compare templates that solve overlapping problems; note when they target different scenarios. |