Tutorials ASP.NET Core MVC Tutorial
Program.cs and Main Entry Point — Complete Guide
Program.cs and Main Entry Point — Complete Guide: free step-by-step lesson with examples, common mistakes, and interview tips — part of ASP.NET Core MVC Tutorial on Toolliyo Academy.
On this page
ASP.NET Core MVC Tutorial · Lesson 18 of 200
Program.cs and Main Entry Point
Getting Started ✓ → Core MVC → Data & Security → Production → Career
Beginner · 2 — Project Structure · ~6 min · Section 2: ASP.NET Core Basics & Hosting
What is this?
Program.cs is the front door of your ASP.NET Core app — it registers services (DI), builds the HTTP pipeline (middleware), and starts the web server.
Why should you care?
Every feature — EF Core, Identity, MVC — gets wired here. When something is not registered, you will debug Program.cs first.
See it live — copy this example
Create an MVC project (dotnet new mvc), add the code, and run dotnet run.
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();
var app = builder.Build();
app.UseStaticFiles();
app.UseRouting();
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();
Run Example »
Edit the code and click Run — like W3Schools Try it Yourself.
What happened?
- CreateBuilder loads appsettings.json.
- AddControllersWithViews registers MVC.
- Middleware order matters: static files, routing, then endpoints.
Try it yourself
- Open Program.cs in ShopNest.
- Add a comment above each line explaining its job.
- Temporarily comment UseStaticFiles — refresh and see CSS disappear.
- Change text or labels in the example and run again — watch the browser update.
- Break the code on purpose (remove a semicolon), read the error message, then fix it.
Remember
Program.cs = configure services + middleware pipeline. AddControllersWithViews enables MVC. Order of Use* calls is critical.