.CSPROJ

CSPROJ-fil

C# Project File
Stil et spørgsmål
HURTIGT SVAR

En CSPROJ-fil er en C#-projektfil - en XML-fil oprettet af Microsoft, der fortæller build-systemet, hvordan et C#-projekt skal kompileres: hvilke kildefiler der skal inkluderes, hvilke NuGet-pakker der skal bruges, og hvilken .NET-version der er målet. Den indeholder ingen kildekode. Åbn den i Visual Studio, VS Code med C# Dev Kit, eller JetBrains Rider, eller byg fra en terminal med den gratis .NET SDK (dotnet build). For blot at læse den fungerer enhver teksteditor.

Udvikler: Microsoft Kategori: Udviklerfiler Åben standard MIME: application/xml
ÅBNER PÅ Windows macOS Linux
Relateret: .DO · .MD · .HEX · .XSD

På denne side

19k+ filtyper indekseret
Sidst gennemset Jun 28, 2026

Er du ikke sikker på, hvad din fil er?

Træk en fil over i vores identifikator - vi læser kun de første bytes for at navngive formatet.

Identificer en fil

Hvad er CSPROJ-filformatet?

Filer med filtypen .csproj er C#-projektfiler, der hører til kategorien udviklerfiler.

Hvad indeholder .csproj-filer?

Indholdet af .csproj-filer inkluderer build-indstillinger for projekter skrevet i C#. De genereres af Microsoft Visual Studio eller .NET SDK-kommandolinjeværktøjer, når et nyt projekt oprettes. Følgende oplysninger kan findes i .csproj-filer:

  • projektnavn og outputtype (eksekverbar fil eller klassebibliotek),
  • referencer til projektfiler, NuGet-pakkeafhængigheder (<PackageReference>) og andre projektreferencer,
  • kompileringsparametre og målramme (f.eks. net9.0 eller net48),
  • assembly-metadata såsom versionsnumre og forfatteroplysninger.

Indholdet af .csproj-filer er skrevet med XML-markup. Moderne projekter bruger det kompakte SDK-style-format, introduceret med .NET Core og Visual Studio 2017, som starter med <Project Sdk="Microsoft.NET.Sdk"> og typisk kun er få linjer langt - kilde- .cs-filer opsamles automatisk via implicit globbing. Ældre legacy-projekter (før 2017) bruger et mere omfattende format med en eksplicit xmlns="http://schemas.microsoft.com/developer/msbuild/2003" navnerumsdeklaration og lister hver enkelt kildefil individuelt.

Hvad bruges .csproj-filer til?

Med .csproj-filer kan man gemme alle build-parametre for ofte meget komplekse projekter - som kan bestå af flere hundrede kildefiler og eksterne afhængigheder - i et enkelt dokument. Build-motoren MSBuild (eller CLI-kommandoen dotnet build) læser .csproj for at kompilere projektet. Oplysninger i .csproj-filer sikrer også ensartet adfærd på tværs af forskellige maskiner og CI-miljøer, hvilket eliminerer behovet for at angive kompileringsparametre hver gang. Et eller flere .csproj-projekter grupperes sammen af en solution-fil (.sln eller den nyere .slnx).

Bemærk, at selve .csproj ikke indeholder nogen kildekode - al C#-kode ligger i de separate .cs-filer, den refererer til.

Kan jeg åbne .csproj-filer?

.csproj-filer genereres automatisk efter valg af muligheden for at oprette et nyt projekt. Da de er skrevet med XML, er selv den enkleste teksteditor som Notesblok tilstrækkelig til at se eller redigere dem. Det er dog værd at huske på, at XML-syntaks kan være utilgivende - uden en klar nødvendighed frarådes ændringer af .csproj-filer. Overilede ændringer i deres indhold kan føre til uoverensstemmelser mellem projektelementer, hvilket resulterer i problemer med at åbne projektet i Visual Studio eller andre udviklingsværktøjer.

Sikkerhed og tryghed

RISIKO: MEDIUM

Selve .csproj-filen er almindelig XML og ufarlig at læse. Den reelle risiko er, hvad der sker, når du BYGGER eller RESTORER den: et C#-projekt kan køre MSBuild-targets, pre/post-build-scripts, NuGet-pakke-restore (som kan køre installationsscripts), kildegeneratorer og den kompilerede kode ved debug/kørsel - så åbning af et projekt, man ikke har tillid til, og tryk på Build/Run kan eksekvere vilkårlig kode. Visual Studio viser en tillidsprompt for downloadede projekter af netop denne grund. Undersøg en ukendt .csproj-fils targets, pakkereferencer og scripts før build, og byg ikke kode, du ikke har tillid til.

Formatdetaljer

kort fortalt
FULDSTÆNDIGT NAVNC# Project Fileogså kendt som Visual C# project file, MSBuild C# project
UDVIKLERMicrosoftsiden 2002 (Visual Studio .NET / .NET Framework 1.0)
MIME-TYPEapplication/xml
TYPEXML MSBuild-projektfil, der definerer, hvordan et C#-projekt kompileres (referencer, filer, build-indstillinger)
STANDARDÅben · royaltyfri

Programmer der åbner CSPROJ-filer

Windows4 apps
Microsoft Visual Studio Freemium Dobbeltklik på .csproj (eller dens .sln) for at indlæse projektet; den gratis Community-udgave bygger og kører det. Bedste fulde IDE-oplevelse til C#.
Visual Studio Code (with C# Dev Kit) Gratis Åbn mappen, der indeholder .csproj; C# Dev Kit-udvidelsen registrerer og indlæser projektet til redigering, build og fejlfinding.
.NET SDK (dotnet CLI) Gratis Byg/kør fra en terminal: «dotnet build MyProject.csproj» eller «dotnet run». Ingen IDE nødvendig; cross-platform.
Notepad / any text editor Open-source Åbn .csproj som XML for at læse eller manuelt redigere referencer, målramme og build-indstillinger (ingen build).
macOS2 apps
Visual Studio Code (with C# Dev Kit) Gratis Åbn mappen, der indeholder .csproj; C# Dev Kit-udvidelsen registrerer og indlæser projektet til redigering, build og fejlfinding.
JetBrains Rider Freemium Åbn .csproj/.sln direkte; fuld C#-projektsupport på macOS. Gratis til ikke-kommerciel brug.
Linux2 apps
JetBrains Rider Freemium Åbn .csproj/.sln direkte; fuld C#-projektsupport på macOS. Gratis til ikke-kommerciel brug.
Visual Studio Code (with C# Dev Kit) Gratis Åbn mappen, der indeholder .csproj; C# Dev Kit-udvidelsen registrerer og indlæser projektet til redigering, build og fejlfinding.

Tekniske detaljer

dyb specifikation
FilstrukturXML med et <Project> rodelement, der indeholder <PropertyGroup>, <ItemGroup> og valgfrit <Target> underelementer
Projektformat-varianterSDK-style (siden .NET Core / VS 2017): kompakt, bruger Sdk-attribut og implicit *.cs globbing. Legacy full-framework: omfattende, lister hver kildefil eksplicit, xmlns 2003-skema
Sdk-attribut<Project Sdk="Microsoft.NET.Sdk"> starter ethvert moderne SDK-style-projekt; varianter inkluderer Microsoft.NET.Sdk.Web (ASP.NET Core) og Microsoft.NET.Sdk.Worker
Deklaration af målramme<TargetFramework> element specificerer kompileringsmålet (f.eks. net9.0, net48, netstandard2.0); <TargetFrameworks> (semikolon-separeret) muliggør multi-targeting i én fil
NuGet-afhængighedsdeklaration<PackageReference Include="PackageName" Version="x.y.z" /> elementer inde i en <ItemGroup>; erstatter den ældre packages.config-metode
Projekt-til-projekt referencer<ProjectReference Include="../Other/Other.csproj" /> elementer; MSBuild løser build-rækkefølge og afhængighedsgraf automatisk
Inkludering af kildefiler (SDK-style)Implicit - alle *.cs-filer under projektmappen kompileres automatisk uden eksplicitte <Compile> indtastninger
OutputtyperExe (konsolapplikation), WinExe (Windows GUI), Library (klassebibliotek eller NuGet-pakke); indstilles via <OutputType> egenskaben
Build-motorMSBuild - aktiveres direkte eller via dotnet build, dotnet run og dotnet publish fra .NET SDK CLI
TekstkodningUTF-8 almindelig tekst; ingen binær signatur eller magic bytes; BOM er valgfri og udelades i de fleste moderne værktøjer
Typisk filstørrelseUnder 1 KB for SDK-style-projekter; op til ~50 KB for store legacy full-framework-projekter med mange eksplicitte filindtastninger
MIME-typeapplication/xml (accepteres også som text/xml eller text/plain)
Ledsagefil.csproj.user gemmer brugerdefinerede, maskinlokale IDE-indstillinger (f.eks. debug-startargumenter) og bør ikke inkluderes i versionsstyring
Solution-grupperingEt eller flere .csproj-projekter kombineres i en .sln eller den nyere .slnx solution-fil til IDE og multi-projekt CLI-builds
Modsvarende projektformater.vbproj (Visual Basic .NET) og .fsproj (F#) bruger det samme MSBuild XML-skema og kan eksistere i samme solution
Udgivet2002 (Visual Studio .NET / .NET Framework 1.0)
Seneste versionSDK-style project format (since .NET Core / VS 2017, 2017); current with .NET 9 (2024)
Åben standardJa · royaltyfri
Specifikationlearn.microsoft.com

CSPROJ-konverteringer

Fællesskabets Q&A

spurgt af brugere
Stil et hurtigt spørgsmål
Få hjælp fra folk, der arbejder med CSPROJ-filer. Vær specifik - medtag dit system og din softwareversion.
Ingen konto nødvendig · svar normalt inden for en dag

Ingen spørgsmål endnu - vær den første til at spørge om CSPROJ-filer.

Ofte stillede spørgsmål

Hvordan åbner jeg en CSPROJ-fil?
Åbn den (eller dens .sln) i Microsoft Visual Studio (gratis Community-udgave). Uden fuld VS kan du åbne mappen i VS Code med C# Dev Kit, bruge JetBrains Rider, eller bygge fra en terminal med den gratis .NET SDK («dotnet build»). For blot at læse den viser enhver teksteditor XML-koden.
Kan jeg åbne en CSPROJ-fil uden Visual Studio?
Ja. Brug den gratis .NET SDK fra kommandolinjen («dotnet build MyProject.csproj»), VS Code med C# Dev Kit, eller JetBrains Rider. Dette er også standardmulighederne på macOS og Linux.
Hvorfor er der ingen kode i min CSPROJ-fil?
Fordi en .csproj ikke indeholder kildekode - det er kun build-definitionen (hvilke filer der skal kompileres, referencer, målramme). Koden lever i .cs-filerne. Åbn projektet i en IDE for at se det hele.
Hvad er forskellen på en CSPROJ- og en SLN-fil?
En .csproj definerer ÉT C#-projekt (dets filer, referencer, build-indstillinger). En .sln grupperer et eller flere .csproj/.vbproj/.vcxproj-projekter i et enkelt arbejdsområde. Du åbner .sln for at arbejde på det hele, eller en .csproj for kun det projekt.
Hvad er forskellen på SDK-style og legacy CSPROJ?
Det moderne SDK-style-projekt (siden 2017) starter med <Project Sdk="Microsoft.NET.Sdk">, er kort og inkluderer automatisk kildefiler. Legacy-formatet (før 2017, .NET Framework) lister eksplicit hver fil og reference og er meget længere. dotnet CLI kan hjælpe med at migrere legacy til SDK-style.
Kan jeg redigere en CSPROJ-fil manuelt?
Ja - det er XML, så du kan redigere referencer, målramme eller build-indstillinger i enhver editor. Det er sikrere at lade Visual Studio eller «dotnet add package» redigere den, men manuel redigering af SDK-style-projekter er almindeligt og understøttes godt.

Referencer

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

Udforsk mere

på tværs af databasen

Populære filtyper i denne uge

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

Relaterede filtyper

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

Gratis filværktøjer

En fil-identifikator og billedkonverter direkte i browseren - alt kører på din enhed.

Åbn værktøjskassen

Gennemse filtyper A-Å