.CSPROJ

Fichier CSPROJ

C# Project File
Poser une question
RÉPONSE RAPIDE

Un fichier CSPROJ est un fichier de projet C# - un fichier XML créé par Microsoft qui indique au système de build comment compiler un projet C# : quels fichiers sources inclure, quels paquets NuGet utiliser et quelle version de .NET cibler. Il ne contient aucun code source. Ouvrez-le dans Visual Studio, VS Code avec le C# Dev Kit, ou JetBrains Rider, ou compilez-le depuis un terminal avec le .NET SDK gratuit (dotnet build). Pour une simple lecture, n'importe quel éditeur de texte convient.

Développeur : Microsoft Catégorie : Fichiers de développement Standard ouvert MIME: application/xml
S'OUVRE SUR Windows macOS Linux
Lié : .DO · .MD · .HEX · .XSD

Sur cette page

19k+ extensions indexées
Dernière révision le Jun 28, 2026

Pas sûr de la nature de votre fichier ?

Déposez n'importe quel fichier dans notre identificateur - nous lisons juste les premiers octets pour nommer le format.

Identifier un fichier

Qu'est-ce que le format de fichier CSPROJ ?

Les fichiers avec l'extension .csproj sont des fichiers de projet C# appartenant à la catégorie des fichiers de développement.

Que contiennent les fichiers .csproj ?

Le contenu des fichiers .csproj comprend les paramètres de build pour les projets écrits en C#. Ils sont générés par Microsoft Visual Studio ou les outils en ligne de commande du .NET SDK lors de la création d'un nouveau projet. Les informations suivantes se trouvent dans les fichiers .csproj :

  • le nom du projet et le type de sortie (exécutable ou bibliothèque de classes),
  • les références aux fichiers du projet, les dépendances aux paquets NuGet (<PackageReference>), et d'autres références de projet,
  • les paramètres de compilation et le framework cible (par ex. net9.0 ou net48),
  • les métadonnées d'assemblage telles que les numéros de version et les informations sur l'auteur.

Le contenu des fichiers .csproj est écrit à l'aide du balisage XML. Les projets modernes utilisent le format compact de style SDK, introduit avec .NET Core et Visual Studio 2017, qui s'ouvre par <Project Sdk="Microsoft.NET.Sdk"> et ne fait généralement que quelques lignes - les fichiers .cs sources sont détectés automatiquement via un balayage implicite (globbing). Les anciens projets hérités (avant 2017) utilisent un format plus verbeux avec une déclaration de namespace explicite xmlns="http://schemas.microsoft.com/developer/msbuild/2003" et listent chaque fichier source individuellement.

À quoi servent les fichiers .csproj ?

Avec les fichiers .csproj, on peut stocker tous les paramètres de build de projets souvent très complexes - pouvant consister en plusieurs centaines de fichiers sources et dépendances externes - dans un seul document. Le moteur de build MSBuild (ou la commande CLI dotnet build) lit le .csproj pour compiler le projet. Les informations contenues dans les fichiers .csproj garantissent également un comportement cohérent sur différentes machines et environnements CI, éliminant le besoin de fournir des paramètres de compilation à chaque fois. Un ou plusieurs projets .csproj sont regroupés par un fichier de solution (.sln ou le plus récent .slnx).

Notez que le .csproj lui-même ne contient aucun code source - tout le code C# réside dans les fichiers .cs séparés qu'il référence.

Puis-je ouvrir les fichiers .csproj ?

Les fichiers .csproj sont générés automatiquement après avoir sélectionné l'option de création d'un nouveau projet. Comme ils sont écrits en XML, même l'éditeur de texte le plus simple comme Notepad suffit pour les visualiser ou les éditer. Cependant, il convient de rappeler que la syntaxe XML peut être impitoyable - sans nécessité claire, les modifications manuelles des fichiers .csproj sont déconseillées. Des changements inconsidérés dans leur contenu peuvent entraîner des incohérences entre les éléments du projet, provoquant des problèmes d'ouverture du projet dans Visual Studio ou d'autres outils de développement.

Sécurité et sûreté

RISQUE : MEDIUM

Le fichier .csproj lui-même est du XML brut et sans danger à lire. Le risque réel survient lors du BUILD ou du RESTORE : un projet C# peut exécuter des cibles MSBuild, des scripts pré/post-build, la restauration de paquets NuGet (qui peut exécuter des scripts d'installation), des générateurs de source et le code compilé lors du débogage/exécution - ainsi, ouvrir un projet non fiable et appuyer sur Build/Run peut exécuter du code arbitraire. Visual Studio affiche un avertissement de confiance pour les projets téléchargés exactement pour cette raison. Inspectez les cibles, les références de paquets et les scripts d'un .csproj inconnu avant de compiler, et ne compilez pas de code en lequel vous n'avez pas confiance.

Détails du format

en bref
NOM COMPLETC# Project Filealias Visual C# project file, MSBuild C# project
DÉVELOPPEURMicrosoftdepuis 2002 (Visual Studio .NET / .NET Framework 1.0)
TYPE MIMEapplication/xml
TYPEFichier de projet XML MSBuild définissant comment un projet C# est compilé (références, fichiers, paramètres de build)
STANDARDOuvert · libre de droits

Programmes qui ouvrent les fichiers CSPROJ

Windows4 apps
Microsoft Visual Studio Freemium Double-cliquez sur le .csproj (ou son .sln) pour charger le projet ; l'édition Community gratuite le compile et l'exécute. La meilleure expérience IDE complète pour C#.
Visual Studio Code (with C# Dev Kit) Gratuit Ouvrez le dossier contenant le .csproj ; l'extension C# Dev Kit détecte et charge le projet pour l'édition, la compilation et le débogage.
.NET SDK (dotnet CLI) Gratuit Compilez/exécutez depuis un terminal : « dotnet build MyProject.csproj » ou « dotnet run ». Aucun IDE requis ; multiplateforme.
Notepad / any text editor Open-source Ouvrez le .csproj en tant que XML pour lire ou éditer manuellement les références, le framework cible et les paramètres de build (pas de compilation).
macOS2 apps
Visual Studio Code (with C# Dev Kit) Gratuit Ouvrez le dossier contenant le .csproj ; l'extension C# Dev Kit détecte et charge le projet pour l'édition, la compilation et le débogage.
JetBrains Rider Freemium Ouvrez le .csproj/.sln directement ; support complet des projets C# sur macOS. Gratuit pour un usage non commercial.
Linux2 apps
JetBrains Rider Freemium Ouvrez le .csproj/.sln directement ; support complet des projets C# sur macOS. Gratuit pour un usage non commercial.
Visual Studio Code (with C# Dev Kit) Gratuit Ouvrez le dossier contenant le .csproj ; l'extension C# Dev Kit détecte et charge le projet pour l'édition, la compilation et le débogage.

Détails techniques

spécifications approfondies
Structure du fichierXML avec un élément racine <Project> contenant des éléments enfants <PropertyGroup>, <ItemGroup>, et optionnellement <Target>
Variantes de format de projetStyle SDK (depuis .NET Core / VS 2017) : compact, utilise l'attribut Sdk et le globbing *.cs implicite. Hérité (full-framework) : verbeux, liste chaque fichier source explicitement, schéma xmlns 2003
Attribut SDK<Project Sdk="Microsoft.NET.Sdk"> ouvre chaque projet moderne de style SDK ; les variantes incluent Microsoft.NET.Sdk.Web (ASP.NET Core) et Microsoft.NET.Sdk.Worker
Déclaration du framework cibleL'élément <TargetFramework> spécifie la cible de compilation (par ex. net9.0, net48, netstandard2.0) ; <TargetFrameworks> (séparés par des points-virgules) permet le multi-ciblage dans un seul fichier
Déclaration de dépendance NuGetÉléments <PackageReference Include="NomPaquet" Version="x.y.z" /> à l'intérieur d'un <ItemGroup> ; remplace l'ancienne approche packages.config
Références de projet à projetÉléments <ProjectReference Include="../Autre/Autre.csproj" /> ; MSBuild résout automatiquement l'ordre de build et le graphe de dépendances
Inclusion de fichiers sources (style SDK)Implicite - tous les fichiers *.cs sous le répertoire du projet sont compilés automatiquement sans entrées <Compile> explicites
Types de sortieExe (application console), WinExe (GUI Windows), Library (bibliothèque de classes ou paquet NuGet) ; défini via la propriété <OutputType>
Moteur de buildMSBuild - invoqué directement ou via dotnet build, dotnet run, et dotnet publish depuis le CLI du .NET SDK
Encodage du texteTexte brut UTF-8 ; pas de signature binaire ou d'octets magiques ; le BOM est optionnel et omis dans la plupart des outils modernes
Taille typique du fichierMoins de 1 Ko pour les projets de style SDK ; jusqu'à ~50 Ko pour les grands projets hérités avec de nombreuses entrées de fichiers explicites
Type MIMEapplication/xml (également accepté comme text/xml ou text/plain)
Fichier compagnon.csproj.user stocke les paramètres IDE locaux par utilisateur (par ex. arguments de lancement du débogage) et ne doit pas être commité dans le contrôle de version
Groupement de solutionsUn ou plusieurs projets .csproj sont combinés dans un fichier de solution .sln ou le plus récent .slnx pour les builds IDE et CLI multi-projets
Formats de projet homologues.vbproj (Visual Basic .NET) et .fsproj (F#) utilisent le même schéma XML MSBuild et peuvent coexister dans la même solution
Publié2002 (Visual Studio .NET / .NET Framework 1.0)
Dernière versionSDK-style project format (since .NET Core / VS 2017, 2017); current with .NET 9 (2024)
Standard ouvertOui · libre de droits
Spécificationlearn.microsoft.com

Conversions CSPROJ

Q&R de la communauté

posées par les utilisateurs
Poser une question rapide
Obtenez de l'aide de personnes qui travaillent avec des fichiers CSPROJ. Soyez précis - incluez votre système et la version du logiciel.
Aucun compte requis · réponses généralement sous un jour

Pas encore de questions - soyez le premier à poser une question sur les fichiers CSPROJ.

Foire aux questions

Comment ouvrir un fichier CSPROJ ?
Ouvrez-le (ou son fichier .sln) dans Microsoft Visual Studio (édition Community gratuite). Sans le VS complet, ouvrez le dossier dans VS Code avec le C# Dev Kit, utilisez JetBrains Rider, ou compilez depuis un terminal avec le .NET SDK gratuit (« dotnet build »). Pour une simple lecture, n'importe quel éditeur de texte affiche le XML.
Puis-je ouvrir un fichier CSPROJ sans Visual Studio ?
Oui. Utilisez le .NET SDK gratuit en ligne de commande (« dotnet build MyProject.csproj »), VS Code avec le C# Dev Kit, ou JetBrains Rider. Ce sont également les options standards sur macOS et Linux.
Pourquoi n'y a-t-il pas de code dans mon fichier CSPROJ ?
Parce qu'un .csproj ne contient pas de source - c'est uniquement la définition du build (quels fichiers compiler, références, framework cible). Le code vit dans les fichiers .cs. Ouvrez le projet dans un IDE pour tout voir.
Quelle est la différence entre un fichier CSPROJ et un fichier SLN ?
Un .csproj définit UN seul projet C# (ses fichiers, références, paramètres de build). Un .sln regroupe un ou plusieurs projets .csproj/.vbproj/.vcxproj dans un seul espace de travail. Vous ouvrez le .sln pour travailler sur l'ensemble, ou un .csproj pour ce projet uniquement.
Quelle est la différence entre le style SDK et le CSPROJ hérité ?
Le projet moderne de style SDK (depuis 2017) commence par <Project Sdk="Microsoft.NET.Sdk">, est court et inclut automatiquement les fichiers sources. Le format hérité (avant 2017, .NET Framework) liste explicitement chaque fichier et référence et est beaucoup plus long. Le CLI dotnet peut aider à migrer de l'hérité vers le style SDK.
Puis-je éditer un fichier CSPROJ à la main ?
Oui - c'est du XML, vous pouvez donc éditer les références, le framework cible ou les options de build dans n'importe quel éditeur. Il est plus sûr de laisser Visual Studio ou « dotnet add package » s'en charger, mais l'édition manuelle des projets de style SDK est courante et bien supportée.

Références

1Microsoft Learn - MSBuild project file schema referencelearn.microsoft.com
2Microsoft Learn - .NET project SDK overview (SDK-style csproj)learn.microsoft.com

Continuer l'exploration

à travers la base de données

Top des extensions cette semaine

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.BINCD/DVD Disc Image (BIN/CUE)
5.EXEWindows Executable (Portable Executable)
6.RPMSGRestricted Permission Message
7.MDMarkdown Document
8.DATProgram Data File (generic)
9.NOMEDIAAndroid No-Media Marker File
10.TXTPlain Text File

Extensions liées

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

Outils de fichiers gratuits

Un identificateur de fichier et un convertisseur d'images dans le navigateur - tout s'exécute sur votre appareil.

Ouvrir la boîte à outils

Parcourir les extensions de fichiers A-Z