Compare

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 glanceBetter Fullstackdotnet new
ScopeAn ASP.NET Core project with selected libraries, optionally next to web and mobile appsOne project, item, or solution per template
App typesMinimal APIs, MVC, or Blazor; Blazor WebAssembly or Blazor Web App frontendsEmpty web, Web API, Native AOT API, MVC, Razor Pages, Blazor, gRPC, worker, console, class library, tests
Data accessEF Core, Dapper, or linq2db with PostgreSQL or SQLiteAn Identity database (SQLite or LocalDB) when Individual auth is selected
AuthASP.NET Core Identity services, Duende IdentityServer, or Auth0Individual accounts, Microsoft Entra ID, or Windows auth, depending on the template
LibrariesMediatR, FluentValidation, Hangfire, Quartz.NET, SignalR, Serilog, OpenTelemetry, Polly, MassTransit, and moreAdded after creation with dotnet add package
Multi-service appsBackends, frontends, and mobile apps in one multi-ecosystem projectAspire templates, installed with Aspire.ProjectTemplates
InterfacesCLI, visual web builder, MCP server for AI agentsCLI, 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.

Open the builderbun create better-fullstack@latest

See how Better Fullstack compares to other tools on the full comparison page.

GitHub Sponsors