Better Fullstack vs dotnet new
`dotnet new` is the .NET CLI command that "creates a new project, configuration file, or solution based on the specified template". The .NET SDK ships templates for ASP.NET Core (web, webapi, mvc, webapp, blazor, grpc), worker services, console apps, class libraries, and xUnit, NUnit, and MSTest projects, and more templates install from NuGet with `dotnet new install`.
Better Fullstack's .NET ecosystem generates an ASP.NET Core project from its own templates, with the data access library, auth library, API style, background jobs, logging, caching, tests, and deployment files chosen at the same time and checked for compatibility.
Facts about dotnet new checked against its public repository and documentation on 2026-10-06.
| At a glance | Better Fullstack | dotnet new |
|---|---|---|
| Scope | An ASP.NET Core project with selected libraries, optionally next to web and mobile apps | One project, item, or solution per template |
| App types | Minimal APIs, MVC, or Blazor; Blazor WebAssembly or Blazor Web App frontends | Empty web, Web API, Native AOT API, MVC, Razor Pages, Blazor, gRPC, worker, console, class library, tests |
| Data access | EF Core, Dapper, or linq2db with PostgreSQL or SQLite | An Identity database (SQLite or LocalDB) when Individual auth is selected |
| Auth | ASP.NET Core Identity services, Duende IdentityServer, or Auth0 | Individual accounts, Microsoft Entra ID, or Windows auth, depending on the template |
| Libraries | MediatR, FluentValidation, Hangfire, Quartz.NET, SignalR, Serilog, OpenTelemetry, Polly, MassTransit, and more | Added after creation with dotnet add package |
| Multi-service apps | Backends, frontends, and mobile apps in one multi-ecosystem project | Aspire templates, installed with Aspire.ProjectTemplates |
| Interfaces | CLI, visual web builder, MCP server for AI agents | CLI, plus new-project dialogs in Visual Studio, VS Code, and Rider |
What dotnet new gives you
`dotnet new webapi` creates a minimal API project with an OpenAPI document enabled (`--no-openapi` turns it off, `--use-controllers` switches to controllers). The mvc, webapp, and blazor templates accept `--auth Individual`, which sets up ASP.NET Core Identity with a SQLite database by default or LocalDB with `--use-local-db`. The Angular and React SPA templates have been discontinued since the .NET 8 SDK; Visual Studio now provides JavaScript SPA templates with an ASP.NET Core backend.
`dotnet new search` finds template packages on NuGet, `dotnet new install` adds them, and `dotnet new update` updates installed packages. Built-in templates update with the SDK: .NET 10, a long-term support release, came out on 2025-11-11, and its latest patch as of this check was released on 2026-09-08.
Templates for AI and distributed apps
Microsoft publishes template packages beyond the SDK: Aspire templates for multi-service apps, an MCP server template (`dotnet new mcpserver`, in preview), and an AI chat web app template (`dotnet new aichatweb`). Templates installed this way also appear in the Visual Studio and VS Code new-project flows.
Upgrading existing projects
dotnet new creates projects; it does not update projects created from older templates. Microsoft's docs state that the .NET Upgrade Assistant is officially deprecated and point to the GitHub Copilot modernization agent in Visual Studio instead.
Better Fullstack records your selections in bts.jsonc, and its update command plans template changes for review. Upgrades across Better Fullstack releases are not yet a supported path and require manual review.
What Better Fullstack adds
One selection covers the libraries you would otherwise add one by one: EF Core, Dapper, or linq2db; Hot Chocolate GraphQL or gRPC; Hangfire, Quartz.NET, or hosted services; SignalR; Serilog, NLog, OpenTelemetry, and health checks; Redis or in-memory caching; xUnit, NUnit, Moq, and Testcontainers; and Docker, Azure, or AWS deployment files. The generated project targets net10.0.
A .NET backend can also sit next to a TypeScript web frontend such as React or a mobile app in a multi-ecosystem project.
Where dotnet new is ahead
It is the official tool, ships with the SDK, works in Visual Studio, VS Code, and Rider, and can use any template package on NuGet. Its Individual auth option gives you working register and login pages; Better Fullstack's ASP.NET Core Identity option registers Identity services with an EF Core store but does not generate login pages or endpoints. Better Fullstack also has no Aspire option.
Try the closest Better Fullstack equivalent
The dotnet-minimal-api preset scaffolds Minimal APIs with EF Core, ASP.NET Core Identity, SignalR, xUnit, Serilog, and a Dockerfile: `bun create better-fullstack@latest my-app --template dotnet-minimal-api`.
Frequently asked questions
Does Better Fullstack call dotnet new?
No. It generates the project from its own templates, so Program.cs and the project file already reference the libraries you selected.
Can dotnet new update a project I already created?
No. `dotnet new update` updates installed template packages, not projects created from them. For framework upgrades, Microsoft points to the GitHub Copilot modernization agent, since the .NET Upgrade Assistant is deprecated.
Does dotnet new still include React and Angular templates?
Not as built-in templates; they have been discontinued since the .NET 8 SDK, and Visual Studio provides SPA templates instead. Better Fullstack can pair a .NET backend with a TypeScript frontend such as React in a multi-ecosystem project.
Try it in the builder
Configure any stack visually and get a ready-to-run command - every combination is compatibility-checked.
bun create better-fullstack@latestSee how Better Fullstack compares to other tools on the full comparison page.