.CSPROJ

CSPROJ-bestand

C# Project File
Stel een vraag
SNEL ANTWOORD

Een CSPROJ-bestand is een C# project-bestand - een XML-bestand gemaakt door Microsoft dat het buildsysteem vertelt hoe een C# project moet worden gecompileerd: welke bronbestanden moeten worden opgenomen, welke NuGet-pakketten moeten worden gebruikt en op welke .NET-versie moet worden gericht. Het bevat zelf geen broncode. Open het in Visual Studio, VS Code met de C# Dev Kit, of JetBrains Rider, of bouw het vanuit een terminal met de gratis .NET SDK (dotnet build). Om het alleen te lezen, volstaat elke tekstverwerker.

Ontwikkelaar: Microsoft Categorie: Ontwikkelaarsbestanden Open standaard MIME: application/xml
OPENT OP Windows macOS Linux
Gerelateerd: .DO · .MD · .HEX · .XSD

Op deze pagina

19k+ extensies geïndexeerd
Laatst beoordeeld op Jun 28, 2026

Niet zeker wat uw bestand is?

Sleep een bestand naar onze identificatietool - we lezen alleen de eerste bytes om het formaat te benoemen.

Identificeer een bestand

Wat is het CSPROJ-bestandsformaat?

Bestanden met de extensie .csproj zijn C# project-bestanden die behoren tot de categorie ontwikkelaarsbestanden.

Wat bevatten .csproj-bestanden?

De inhoud van .csproj-bestanden omvat build-instellingen voor projecten geschreven in C#. Ze worden gegenereerd door Microsoft Visual Studio of de .NET SDK opdrachtregelprogramma's wanneer een nieuw project wordt gemaakt. De volgende informatie is te vinden in .csproj-bestanden:

  • projectnaam en uitvoertype (executable of class library),
  • verwijzingen naar projectbestanden, NuGet-pakketafhankelijkheden (<PackageReference>) en andere projectreferenties,
  • compilatieparameters en doelframework (bijv. net9.0 of net48),
  • assembly-metadata zoals versienummers en auteurinformatie.

De inhoud van .csproj-bestanden is geschreven met XML-opmaak. Moderne projecten gebruiken het compacte SDK-stijl formaat, geïntroduceerd met .NET Core en Visual Studio 2017, dat opent met <Project Sdk="Microsoft.NET.Sdk"> en meestal slechts enkele regels lang is - bron .cs-bestanden worden automatisch opgepikt via impliciete globbing. Oudere legacy-projecten (van vóór 2017) gebruiken een uitgebreider formaat met een expliciete xmlns="http://schemas.microsoft.com/developer/msbuild/2003" namespace-declaratie en vermelden elk bronbestand afzonderlijk.

Waarvoor worden .csproj-bestanden gebruikt?

Met .csproj-bestanden kan men alle build-parameters van vaak zeer complexe projecten - die uit honderden bronbestanden en externe afhankelijkheden kunnen bestaan - in één document opslaan. De build-engine MSBuild (of het dotnet build CLI-commando) leest de .csproj om het project te compileren. Informatie in .csproj-bestanden zorgt ook voor consistent gedrag op verschillende machines en in CI-omgevingen, waardoor het niet nodig is om telkens compilatieparameters op te geven. Een of meer .csproj-projecten worden gegroepeerd door een solution-bestand (.sln of het nieuwere .slnx).

Let op: de .csproj zelf bevat geen broncode - alle C#-code bevindt zich in de afzonderlijke .cs-bestanden waarnaar wordt verwezen.

Kan ik .csproj-bestanden openen?

.csproj-bestanden worden automatisch gegenereerd na het selecteren van de optie om een nieuw project aan te maken. Omdat ze met XML zijn geschreven, volstaat zelfs de eenvoudigste tekstverwerker zoals Notepad voor het bekijken of bewerken ervan. Het is echter goed om te onthouden dat XML-syntaxis onvergefelijk kan zijn - zonder duidelijke noodzaak worden wijzigingen in .csproj-bestanden afgeraden. Onbezonnen wijzigingen in de inhoud kunnen leiden tot inconsistenties tussen projectelementen, wat resulteert in problemen bij het openen van het project in Visual Studio of andere ontwikkeltools.

Beveiliging & veiligheid

RISICO: MEDIUM

Het .csproj-bestand zelf is platte XML en onschadelijk om te lezen. Het echte risico is wat er gebeurt wanneer u het BOUWT of HERSTELT: een C#-project kan MSBuild-targets uitvoeren, pre/post-build scripts, NuGet-pakketherstel (dat installatiescripts kan uitvoeren), brongeneratoren en de gecompileerde code bij debuggen/uitvoeren - dus het openen van een niet-vertrouwd project en op Build/Run drukken kan willekeurige code uitvoeren. Visual Studio toont om precies deze reden een vertrouwensprompt voor gedownloade projecten. Inspecteer de targets, pakketreferenties en scripts van een onbekende .csproj voordat u deze bouwt, en bouw geen code die u niet vertrouwt.

Formaatdetails

in een notendop
VOLLEDIGE NAAMC# Project Fileook bekend als Visual C# project file, MSBuild C# project
ONTWIKKELAARMicrosoftsinds 2002 (Visual Studio .NET / .NET Framework 1.0)
MIME-TYPEapplication/xml
TYPEXML MSBuild project-bestand dat definieert hoe één C# project compileert (referenties, bestanden, build-instellingen)
STANDAARDOpen · royaltyvrij
GERELATEERD.do.md.hex.xsd

Programma's die CSPROJ-bestanden openen

Windows4 apps
Microsoft Visual Studio Freemium Dubbelklik op de .csproj (of de .sln) om het project te laden; de gratis Community-editie bouwt en voert het uit. De beste volledige IDE-ervaring voor C#.
Visual Studio Code (with C# Dev Kit) Gratis Open de map met de .csproj; de C# Dev Kit-extensie detecteert en laadt het project voor bewerken, bouwen en debuggen.
.NET SDK (dotnet CLI) Gratis Bouwen/uitvoeren vanuit een terminal: „dotnet build MyProject.csproj” of „dotnet run”. Geen IDE nodig; platformonafhankelijk.
Notepad / any text editor Open-source Open de .csproj als XML om referenties, doelframework en build-instellingen te lezen of handmatig te bewerken (geen build).
macOS2 apps
Visual Studio Code (with C# Dev Kit) Gratis Open de map met de .csproj; de C# Dev Kit-extensie detecteert en laadt het project voor bewerken, bouwen en debuggen.
JetBrains Rider Freemium Open de .csproj/.sln rechtstreeks; volledige C#-projectondersteuning op macOS. Gratis voor niet-commercieel gebruik.
Linux2 apps
JetBrains Rider Freemium Open de .csproj/.sln rechtstreeks; volledige C#-projectondersteuning op macOS. Gratis voor niet-commercieel gebruik.
Visual Studio Code (with C# Dev Kit) Gratis Open de map met de .csproj; de C# Dev Kit-extensie detecteert en laadt het project voor bewerken, bouwen en debuggen.

Technische details

diepe specificaties
BestandsstructuurXML met een <Project> root-element dat <PropertyGroup>, <ItemGroup> en optioneel <Target> sub-elementen bevat
Projectformaat variantenSDK-stijl (sinds .NET Core / VS 2017): compact, gebruikt Sdk-attribuut en impliciete *.cs globbing. Legacy full-framework: uitgebreid, vermeldt elk bronbestand expliciet, xmlns 2003 schema
SDK-attribuut<Project Sdk="Microsoft.NET.Sdk"> opent elk modern SDK-stijl project; varianten zijn onder meer Microsoft.NET.Sdk.Web (ASP.NET Core) en Microsoft.NET.Sdk.Worker
Doelframework declaratie<TargetFramework> element specificeert het compilatiedoel (bijv. net9.0, net48, netstandard2.0); <TargetFrameworks> (gescheiden door puntkomma's) maakt multi-targeting in één bestand mogelijk
NuGet afhankelijkheid declaratie<PackageReference Include="PackageName" Version="x.y.z" /> elementen binnen een <ItemGroup>; vervangt de oudere packages.config aanpak
Project-naar-project referenties<ProjectReference Include="../Other/Other.csproj" /> elementen; MSBuild bepaalt automatisch de build-volgorde en afhankelijkheidsgrafiek
Bronbestand inclusie (SDK-stijl)Impliciet - alle *.cs-bestanden onder de projectmap worden automatisch gecompileerd zonder expliciete <Compile> vermeldingen
UitvoertypesExe (console-applicatie), WinExe (Windows GUI), Library (class library of NuGet-pakket); ingesteld via de <OutputType> eigenschap
Build-engineMSBuild - direct aangeroepen of via dotnet build, dotnet run, en dotnet publish vanuit de .NET SDK CLI
TekstcoderingUTF-8 platte tekst; geen binaire handtekening of magic bytes; BOM is optioneel en wordt in de meeste moderne tools weggelaten
Typische bestandsgrootteMinder dan 1 KB voor SDK-stijl projecten; tot ~50 KB for grote legacy full-framework projecten met veel expliciete bestandsvermeldingen
MIME-typeapplication/xml (ook geaccepteerd als text/xml of text/plain)
Bijbehorend bestand.csproj.user slaat per gebruiker, machine-lokale IDE-instellingen op (bijv. debug launch argumenten) en mag niet worden opgenomen in versiebeheer
Solution groeperingEen of meer .csproj-projecten worden gecombineerd in een .sln of het nieuwere .slnx solution-bestand voor IDE en multi-project CLI builds
Tegenhangende projectformaten.vbproj (Visual Basic .NET) en .fsproj (F#) gebruiken hetzelfde MSBuild XML-schema en kunnen naast elkaar bestaan in dezelfde solution
Uitgebracht2002 (Visual Studio .NET / .NET Framework 1.0)
Laatste versieSDK-style project format (since .NET Core / VS 2017, 2017); current with .NET 9 (2024)
Open standaardJa · royaltyvrij
Specificatielearn.microsoft.com

CSPROJ conversies

Community V&A

gevraagd door gebruikers
Stel een korte vraag
Krijg hulp van mensen die met CSPROJ-bestanden werken. Wees specifiek - vermeld uw systeem en softwareversie.
Geen account nodig · antwoorden meestal binnen een dag

Nog geen vragen - wees de eerste om iets te vragen over CSPROJ-bestanden.

Veelgestelde vragen

Hoe open ik een CSPROJ-bestand?
Open het (of de bijbehorende .sln) in Microsoft Visual Studio (gratis Community-editie). Zonder de volledige VS kunt u de map openen in VS Code met de C# Dev Kit, JetBrains Rider gebruiken, of bouwen vanuit een terminal met de gratis .NET SDK („dotnet build”). Om het alleen te lezen, toont elke tekstverwerker de XML.
Kan ik een CSPROJ-bestand openen zonder Visual Studio?
Ja. Gebruik de gratis .NET SDK vanaf de opdrachtregel („dotnet build MyProject.csproj”), VS Code met de C# Dev Kit, of JetBrains Rider. Dit zijn ook de standaardopties op macOS en Linux.
Waarom staat er geen code in mijn CSPROJ-bestand?
Omdat een .csproj geen broncode bevat - het is alleen de build-definitie (welke bestanden moeten worden gecompileerd, referenties, doelframework). De code bevindt zich in de .cs-bestanden. Open het project in een IDE om alles te zien.
Wat is het verschil tussen een CSPROJ- en een SLN-bestand?
Een .csproj definieert ÉÉN C#-project (de bestanden, referenties, build-instellingen). Een .sln groepeert een of meer .csproj/.vbproj/.vcxproj-projecten in één werkruimte. U opent de .sln om aan alles te werken, of een .csproj voor alleen dat project.
Wat is het verschil tussen SDK-stijl en legacy CSPROJ?
Het moderne SDK-stijl project (sinds 2017) begint met <Project Sdk="Microsoft.NET.Sdk">, is kort en voegt bronbestanden automatisch toe. Het legacy-formaat (vóór 2017, .NET Framework) vermeldt expliciet elk bestand en elke referentie en is veel langer. De dotnet CLI kan helpen bij het migreren van legacy naar SDK-stijl.
Kan ik een CSPROJ-bestand handmatig bewerken?
Ja - het is XML, dus u kunt referenties, het doelframework of build-opties in elke editor bewerken. Het is veiliger om Visual Studio of „dotnet add package” het te laten bewerken, maar het handmatig bewerken van SDK-stijl projecten is gebruikelijk en wordt goed ondersteund.

Referenties

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

Blijf ontdekken

door de database

Populaire extensies deze week

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

Gerelateerde extensies

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

Gratis bestandstools

Een bestandsidentificatie en afbeeldingsconverter in de browser - alles draait op uw eigen apparaat.

Open de gereedschapskist

Blader door bestandsextensies A-Z