.CSPROJ

CSPROJ-fil

C# Project File
Still et spørsmål
HURTIGSVAR

En CSPROJ-fil er en C#-prosjektfil - en XML-fil opprettet av Microsoft som forteller byggesystemet hvordan et C#-prosjekt skal kompileres: hvilke kildefiler som skal inkluderes, hvilke NuGet-pakker som skal brukes, og hvilken .NET-versjon som er målet. Den inneholder ingen kildekode. Åpne den i Visual Studio, VS Code med C# Dev Kit, eller JetBrains Rider, eller bygg fra en terminal med den gratis .NET SDK (dotnet build). For å bare lese den, fungerer enhver tekstbehandler.

Utvikler: Microsoft Kategori: Utviklerfiler Åpen standard MIME: application/xml
ÅPNES PÅ Windows macOS Linux
Relatert: .DO · .MD · .HEX · .XSD

På denne siden

19k+ filendelser indeksert
Sist vurdert Jun 28, 2026

Usikker på hva filen din er?

Slipp hvilken som helst fil inn i vår identifikator - vi leser bare de første bytene for å navngi formatet.

Identifiser en fil

Hva er CSPROJ-filformatet?

Filer med filendelsen .csproj er C#-prosjektfiler som tilhører kategorien utviklerfiler.

Hva inneholder .csproj-filer?

Innholdet i .csproj-filer inkluderer byggeinnstillinger for prosjekter skrevet i C#. De genereres av Microsoft Visual Studio eller .NET SDK-kommandolinjeverktøy når et nytt prosjekt opprettes. Følgende informasjon finnes i .csproj-filer:

  • prosjektnavn og utdatatype (kjørbar fil eller klassebibliotek),
  • referanser til prosjektfiler, NuGet-pakkemarginer (<PackageReference>) og andre prosjektreferanser,
  • kompileringsparametere og målrammeverk (f.eks. net9.0 eller net48),
  • metadata for assembly, som versjonsnumre og forfatterinformasjon.

Innholdet i .csproj-filer er skrevet med XML-markering. Moderne prosjekter bruker det kompakte SDK-stil-formatet, introdusert med .NET Core og Visual Studio 2017, som starter med <Project Sdk="Microsoft.NET.Sdk"> og er vanligvis bare noen få linjer lang - kilde- .cs-filer plukkes opp automatisk via implisitt globbing. Eldre arv-prosjekter (før 2017) bruker et mer omfattende format med en eksplisitt xmlns="http://schemas.microsoft.com/developer/msbuild/2003" navneromsdeklarasjon og lister hver kildefil individuelt.

Hva brukes .csproj-filer til?

Med .csproj-filer kan man lagre alle byggeparametere for ofte svært komplekse prosjekter - som kan bestå av flere hundre kildefiler og eksterne avhengigheter - i ett enkelt dokument. Byggemotoren MSBuild (eller CLI-kommandoen dotnet build) leser .csproj for å kompilere prosjektet. Informasjon i .csproj-filer sikrer også konsistent oppførsel på tvers av ulike maskiner og CI-miljøer, noe som eliminerer behovet for å oppgi kompileringsparametere hver gang. Ett eller flere .csproj-prosjekter grupperes sammen av en løsningsfil (.sln eller den nyere .slnx).

Merk at selve .csproj ikke inneholder kildekode - all C#-kode ligger i de separate .cs-filene den refererer til.

Kan jeg åpne .csproj-filer?

.csproj-filer genereres automatisk etter at du har valgt alternativet for å opprette et nytt prosjekt. Fordi de er skrevet med XML, er selv den enkleste tekstbehandler som Notepad tilstrekkelig for å vise eller redigere dem. Det er imidlertid verdt å huske at XML-syntaks kan være utilgivende - uten en klar nødvendighet frarådes endringer i .csproj-filer. Forhastede endringer i innholdet kan føre til inkonsistens mellom prosjektelementer, noe som resulterer i problemer med å åpne prosjektet i Visual Studio eller andre utviklingsverktøy.

Sikkerhet og trygghet

RISIKO: MEDIUM

Selve .csproj-filen er ren XML og ufarlig å lese. Den reelle risikoen er hva som skjer når du BYGGER eller GJENOPPRETTER (restore) den: et C#-prosjekt kan kjøre MSBuild-targets, skript før/etter bygging, NuGet-pakkegjenoppretting (som kan kjøre installasjonsskript), kildegeneratorer og den kompilerte koden ved feilsøking/kjøring - så å åpne et upålitelig prosjekt og trykke Build/Run kan kjøre vilkårlig kode. Visual Studio viser en tillitsadvarsel for nedlastede prosjekter nettopp av denne grunn. Inspiser en ukjent .csproj sine targets, pakkereferanser og skript før bygging, og ikke bygg kode du ikke stoler på.

Formatdetaljer

i et nøtteskall
FULLT NAVNC# Project Fileogså kjent som Visual C# project file, MSBuild C# project
UTVIKLERMicrosoftsiden 2002 (Visual Studio .NET / .NET Framework 1.0)
MIME-TYPEapplication/xml
TYPEXML MSBuild-prosjektfil som definerer hvordan ett C#-prosjekt kompileres (referanser, filer, byggeinnstillinger)
STANDARDÅpen · royalty-fri

Programmer som åpner CSPROJ-filer

Windows4 apps
Microsoft Visual Studio Freemium Dobbeltklikk på .csproj (eller dens .sln) for å laste prosjektet; den gratis Community-utgaven bygger og kjører det. Beste fullstendige IDE-opplevelse for C#.
Visual Studio Code (with C# Dev Kit) Gratis Åpne mappen som inneholder .csproj; C# Dev Kit-utvidelsen oppdager og laster prosjektet for redigering, bygging og feilsøking.
.NET SDK (dotnet CLI) Gratis Bygg/kjør fra en terminal: «dotnet build MyProject.csproj» eller «dotnet run». Ingen IDE nødvendig; plattformuavhengig.
Notepad / any text editor Åpen kildekode Åpne .csproj som XML for å lese eller manuelt redigere referanser, målrammeverk og byggeinnstillinger (ingen bygging).
macOS2 apps
Visual Studio Code (with C# Dev Kit) Gratis Åpne mappen som inneholder .csproj; C# Dev Kit-utvidelsen oppdager og laster prosjektet for redigering, bygging og feilsøking.
JetBrains Rider Freemium Åpne .csproj/.sln direkte; full støtte for C#-prosjekter på macOS. Gratis for ikke-kommersiell bruk.
Linux2 apps
JetBrains Rider Freemium Åpne .csproj/.sln direkte; full støtte for C#-prosjekter på macOS. Gratis for ikke-kommersiell bruk.
Visual Studio Code (with C# Dev Kit) Gratis Åpne mappen som inneholder .csproj; C# Dev Kit-utvidelsen oppdager og laster prosjektet for redigering, bygging og feilsøking.

Tekniske detaljer

dyp spesifikasjon
FilstrukturXML med et <Project> rotelement som inneholder <PropertyGroup>, <ItemGroup>, og valgfritt <Target> underelementer
Prosjektformat-varianterSDK-stil (siden .NET Core / VS 2017): kompakt, bruker Sdk-attributt og implisitt *.cs globbing. Arv full-framework: omfattende, lister hver kildefil eksplisitt, xmlns 2003-skjema
Sdk-attributt<Project Sdk="Microsoft.NET.Sdk"> starter alle moderne SDK-stil-prosjekter; varianter inkluderer Microsoft.NET.Sdk.Web (ASP.NET Core) og Microsoft.NET.Sdk.Worker
Deklarasjon av målrammeverk<TargetFramework>-elementet spesifiserer kompileringsmålet (f.eks. net9.0, net48, netstandard2.0); <TargetFrameworks> (semikolon-separert) muliggjør flere mål i én fil
NuGet-avhengighetsdeklarasjon<PackageReference Include="PackageName" Version="x.y.z" /> elementer inne i en <ItemGroup>; erstatter den eldre packages.config-metoden
Prosjekt-til-prosjekt-referanser<ProjectReference Include="../Other/Other.csproj" /> elementer; MSBuild løser byggerekkefølge og avhengighetsgraf automatisk
Inkludering av kildefiler (SDK-stil)Implisitt - alle *.cs-filer under prosjektmappen kompileres automatisk uten eksplisitte <Compile>-oppføringer
UtdatatyperExe (konsollapplikasjon), WinExe (Windows GUI), Library (klassebibliotek eller NuGet-pakke); settes via <OutputType>-egenskapen
ByggemotorMSBuild - kalles direkte eller via dotnet build, dotnet run, og dotnet publish fra .NET SDK CLI
TekstkodingUTF-8 ren tekst; ingen binær signatur eller magic bytes; BOM er valgfritt og utelatt i de fleste moderne verktøy
Typisk filstørrelseUnder 1 KB for SDK-stil-prosjekter; opptil ~50 KB for store arv-prosjekter med mange eksplisitte filoppføringer
MIME-typeapplication/xml (også akseptert som text/xml eller text/plain)
Ledsagerfil.csproj.user lagrer bruker- og maskinspesifikke IDE-innstillinger (f.eks. argumenter for feilsøking) og bør ikke sjekkes inn i versjonskontroll
LøsningsgrupperingEtt eller flere .csproj-prosjekter kombineres i en .sln eller den nyere .slnx-løsningsfilen for IDE og bygging av flere prosjekter via CLI
Tilsvarende prosjektformater.vbproj (Visual Basic .NET) og .fsproj (F#) bruker samme MSBuild XML-skjema og kan eksistere i samme løsning
Utgitt2002 (Visual Studio .NET / .NET Framework 1.0)
Siste versjonSDK-style project format (since .NET Core / VS 2017, 2017); current with .NET 9 (2024)
Åpen standardJa · royalty-fri
Spesifikasjonlearn.microsoft.com

CSPROJ-konverteringer

Spørsmål og svar fra fellesskapet

spurt av brukere
Still et raskt spørsmål
Få hjelp fra folk som jobber med CSPROJ-filer. Vær spesifikk - inkluder systemet ditt og programvareversjon.
Ingen konto nødvendig · svar vanligvis innen en dag

Ingen spørsmål ennå - vær den første til å spørre om CSPROJ-filer.

Ofte stilte spørsmål

Hvordan åpner jeg en CSPROJ-fil?
Åpne den (eller dens .sln) i Microsoft Visual Studio (gratis Community-utgave). Uten full VS, åpne mappen i VS Code med C# Dev Kit, bruk JetBrains Rider, eller bygg fra en terminal med den gratis .NET SDK («dotnet build»). For å bare lese den, viser enhver tekstbehandler XML-koden.
Kan jeg åpne en CSPROJ-fil uten Visual Studio?
Ja. Bruk den gratis .NET SDK fra kommandolinjen («dotnet build MyProject.csproj»), VS Code med C# Dev Kit, eller JetBrains Rider. Dette er standardalternativene på macOS og Linux også.
Hvorfor er det ingen kode i min CSPROJ-fil?
Fordi en .csproj ikke inneholder kildekode - den er bare byggemodellen (hvilke filer som skal kompileres, referanser, målrammeverk). Koden lever i .cs-filene. Åpne prosjektet i en IDE for å se alt.
Hva er forskjellen mellom en CSPROJ- og en SLN-fil?
En .csproj definerer ETT C#-prosjekt (dets filer, referanser, byggeinnstillinger). En .sln grupperer ett eller flere .csproj/.vbproj/.vcxproj-prosjekter i ett felles arbeidsområde. Du åpner .sln for å jobbe med alt, eller en .csproj for bare det prosjektet.
Hva er forskjellen mellom SDK-stil og arv-CSPROJ?
Det moderne SDK-stil-prosjektet (siden 2017) starter med <Project Sdk="Microsoft.NET.Sdk">, er kort, og inkluderer kildefiler automatisk. Arv-formatet (før 2017, .NET Framework) lister eksplisitt hver fil og referanse og er mye lengre. dotnet CLI kan hjelpe med å migrere arv til SDK-stil.
Kan jeg redigere en CSPROJ-fil manuelt?
Ja - det er XML, så du kan redigere referanser, målrammeverk eller byggevalg i enhver tekstbehandler. Det er tryggere å la Visual Studio eller «dotnet add package» redigere den, men manuell redigering av SDK-stil-prosjekter er vanlig og godt støttet.

Referanser

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

Utforsk videre

på tvers av databasen

Populære filendelser denne uken

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

Relaterte filendelser

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

Gratis filverktøy

En filidentifikator og bildekonvertering i nettleseren - alt kjører på din enhet.

Åpne verktøykassen

Bla i filendelser A-Å