> For the complete documentation index, see [llms.txt](https://www.learnentityframeworkcore5.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.learnentityframeworkcore5.com/project-types.md).

# Project Types

[**Improve EF Core performance with EF Extensions**](https://entityframework-extensions.net/)

[![](https://zzzprojects.github.io/images/logo/entityframework-extensions-pub.jpg)](https://entityframework-extensions.net/)

## Project Types

In Visual Studio, projects are the containers that developers use to organize source code files and other resources that appear in **Solution Explorer**.

* Typically, projects are files, for example, a .csproj file for a Visual C# project, that store references to source code files and resources like bitmap files.
* Projects let you organize, build, debug, and deploy source code, references to Web services and databases, and other resources.
* Visual Studio includes several project types for languages such as C#, Visual Basic, etc.

Visual Studio comes with many project templates to create the necessary code and files to start developing applications. The following are the most commonly used project types.

| Project Type                                             | Description                                                                                                                                                                                                                                                                    |
| -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [**Console**](/project-types/console.md)\*\*\*\*         | A **Console application** is a program designed to be used via a text-only computer interface, such as a text terminal, the command line interface, etc.                                                                                                                       |
| \*\*\*\*[**MVC**](/project-types/mvc.md)\*\*\*\*         | The Model-View-Controller (**MVC**) is an architectural pattern that separates an **application** into three main logical components: the model, the view, and the controller. Each of these components is built to handle specific development aspects of an **application**. |
| \*\*\*\*[**WinForm**](/project-types/winform.md)\*\*\*\* | A **Windows Forms application** is an event-driven **application** supported by Microsoft's .NET Framework. Unlike a batch program, it spends most of its time simply waiting for the user to do something, such as fill in a text box or click a button.                      |
| \*\*\*\*[**Xamarin**](/project-types/xamarin.md)\*\*\*\* | **Xamarin**.**Forms** is an open-source mobile UI framework from Microsoft for building iOS, Android, & Windows **apps** with .NET from a single shared codebase.                                                                                                              |
| \*\*\*\*[**Blazor**](/project-types/blazor.md)\*\*\*\*   | **Blazor** is a free and open-source web framework that enables developers to create web apps using C# and HTML.                                                                                                                                                               |
