Un fichier .csproj, abréviation de C# Project, est un format de fichier de projet basé sur XML utilisé par la plateforme de développement .NET de Microsoft, principalement au sein de Visual Studio et des outils .NET Core/.NET SDK. Il contient des métadonnées cruciales nécessaires au compilateur et au système de construction (build system) pour compiler correctement un projet logiciel. Ces métadonnées incluent des références aux fichiers de code source (tels que les fichiers .cs), des paramètres de configuration pour le compilateur (comme le framework cible, le type de sortie tel que 'Library' ou 'Exe'), les dépendances sur les paquets NuGet externes, les cibles de construction (build targets) et les étapes de construction personnalisées. Essentiellement, le fichier .csproj définit comment un ensemble de fichiers de code source doit être compilé en un exécutable, une bibliothèque ou une application web. Les fichiers .csproj modernes, en particulier ceux utilisés avec .NET Core et les versions ultérieures, suivent un format de style SDK simplifié, ce qui les rend plus faciles à lire et à gérer par rapport aux formats plus anciens et plus verbeux. Ils sont fondamentaux pour tout projet C# ou F# géré par le système MSBuild.