Un file .csproj, acronimo di C# Project, è un formato di file di progetto basato su XML utilizzato dalla piattaforma di sviluppo .NET di Microsoft, principalmente all'interno di Visual Studio e degli strumenti della riga di comando .NET Core/SDK. Esso contiene metadati cruciali necessari al compilatore e al sistema di build per compilare correttamente un progetto software. Questi metadati includono riferimenti ai file di codice sorgente (come i file .cs), impostazioni di configurazione per il compilatore (come il framework di destinazione, il tipo di output come 'Library' o 'Exe'), dipendenze da pacchetti NuGet esterni, target di build e passaggi di build personalizzati. In sostanza, il file .csproj definisce come un insieme di file di codice sorgente debba essere compilato in un eseguibile, una libreria o un'applicazione web. I moderni file .csproj, specialmente quelli utilizzati con .NET Core e versioni successive, seguono un formato semplificato in stile SDK, rendendoli più facili da leggere e gestire rispetto ai formati precedenti più prolissi. Essi sono fondamentali per qualsiasi progetto C# o F# gestito dal sistema MSBuild.