.CSPROJ

CSPROJ-fil

C# Project File
Ställ en fråga
SNABBT SVAR

En CSPROJ-fil är en C#-projektfil - en XML-fil skapad av Microsoft som talar om för byggsystemet hur ett C#-projekt ska kompileras: vilka källfiler som ska inkluderas, vilka NuGet-paket som ska användas och vilken .NET-version som är målet. Den innehåller ingen källkod. Öppna den i Visual Studio, VS Code med C# Dev Kit, eller JetBrains Rider, eller bygg från en terminal med det kostnadsfria .NET SDK (dotnet build). För att bara läsa den fungerar vilken textredigerare som helst.

Utvecklare: Microsoft Kategori: Utvecklarfiler Öppen standard MIME: application/xml
ÖPPNAS PÅ Windows macOS Linux
Relaterat: .DO · .MD · .HEX · .XSD

På denna sida

19k+ filtillägg indexerade
Senast granskad Jun 28, 2026

Osäker på vad din fil är?

Släpp valfri fil i vår identifierare - vi läser bara de första byten för att namnge formatet.

Identifiera en fil

Vad är filformatet CSPROJ?

Filer med filtillägget .csproj är C#-projektfiler som tillhör kategorin utvecklarfiler.

Vad innehåller .csproj-filer?

Innehållet i .csproj-filer inkluderar bygginställningar för projekt skrivna i C#. De genereras av Microsoft Visual Studio eller .NET SDK-kommandoradsverktyg när ett nytt projekt skapas. Följande information kan hittas i .csproj-filer:

  • projektnamn och utdatatyp (körbar fil eller klassbibliotek),
  • referenser till projektfiler, NuGet-paketberoenden (<PackageReference>) och andra projektreferenser,
  • kompilationsparametrar och målramverk (t.ex. net9.0 eller net48),
  • metadata för assembly såsom versionsnummer och författarinformation.

Innehållet i .csproj-filer är skrivet med XML-markup. Moderna projekt använder det kompakta SDK-formatet, som introducerades med .NET Core och Visual Studio 2017, vilket inleds med <Project Sdk="Microsoft.NET.Sdk"> och är vanligtvis bara några rader långt - källfiler av typen .cs-filer plockas upp automatiskt via implicit globbing. Äldre legacy-projekt (före 2017) använder ett mer utförligt format med en explicit xmlns="http://schemas.microsoft.com/developer/msbuild/2003" namnrymdsdeklaration och listar varje källfil individuellt.

Vad används .csproj-filer till?

Med .csproj-filer kan man lagra alla byggparametrar för ofta mycket komplexa projekt - som kan bestå av flera hundra källfiler och externa beroenden - i ett enda dokument. Byggmotorn MSBuild (eller CLI-kommandot dotnet build) läser .csproj för att kompilera projektet. Information i .csproj-filer säkerställer också ett konsekvent beteende mellan olika maskiner och CI-miljöer, vilket eliminerar behovet av att ange kompilationsparametrar varje gång. Ett eller flera .csproj-projekt grupperas tillsammans av en lösningsfil (.sln eller den nyare .slnx).

Notera att själva .csproj-filen inte innehåller någon källkod - all C#-kod finns i de separata .cs-filerna som den refererar till.

Kan jag öppna .csproj-filer?

.csproj-filer genereras automatiskt efter att ha valt alternativet att skapa ett nytt projekt. Eftersom de är skrivna med XML räcker även den enklaste textredigerare som Notepad för att visa eller redigera dem. Det är dock värt att komma ihåg att XML-syntax kan vara oförlåtande - utan en tydlig nödvändighet avråds modifieringar av .csproj-filer. Oförsiktiga ändringar i deras innehåll kan leda till inkonsekvenser bland projektelement, vilket resulterar i problem med att öppna projektet i Visual Studio eller andra utvecklingsverktyg.

Säkerhet & trygghet

RISK: MEDIUM

Själva .csproj-filen är vanlig XML och ofarlig att läsa. Den verkliga risken är vad som händer när du BYGGER eller ÅTERSTÄLLER (RESTORE) den: ett C#-projekt kan köra MSBuild-targets, skript före/efter bygge, NuGet-paketåterställning (som kan köra installationsskript), källkodsgeneratorer och den kompilerade koden vid felsökning/körning - så att öppna ett okänt projekt och trycka på Build/Run kan exekvera godtycklig kod. Visual Studio visar en förtroendefråga för nedladdade projekt av just denna anledning. Granska en obekant .csproj-fils targets, paketreferenser och skript innan du bygger, och bygg inte kod som du inte litar på.

Formatdetaljer

i ett nötskal
FULLSTÄNDIGT NAMNC# Project Fileäven känd som Visual C# project file, MSBuild C# project
UTVECKLAREMicrosoftsedan 2002 (Visual Studio .NET / .NET Framework 1.0)
MIME-TYPapplication/xml
TYPXML MSBuild-projektfil som definierar hur ett C#-projekt kompileras (referenser, filer, bygginställningar)
STANDARDÖppen · royaltyfri

Program som öppnar CSPROJ-filer

Windows4 apps
Microsoft Visual Studio Freemium Dubbelklicka på .csproj (eller dess .sln) för att ladda projektet; den kostnadsfria Community-utgåvan bygger och kör det. Bästa fullständiga IDE-upplevelsen för C#.
Visual Studio Code (with C# Dev Kit) Gratis Öppna mappen som innehåller .csproj; tillägget C# Dev Kit upptäcker och laddar projektet för redigering, bygge och felsökning.
.NET SDK (dotnet CLI) Gratis Bygg/kör från en terminal: «dotnet build MyProject.csproj» eller «dotnet run». Ingen IDE behövs; plattformsoberoende.
Notepad / any text editor Öppen källkod Öppna .csproj som XML för att läsa eller handredigera referenser, målramverk och bygginställningar (inget bygge).
macOS2 apps
Visual Studio Code (with C# Dev Kit) Gratis Öppna mappen som innehåller .csproj; tillägget C# Dev Kit upptäcker och laddar projektet för redigering, bygge och felsökning.
JetBrains Rider Freemium Öppna .csproj/.sln direkt; fullt stöd för C#-projekt på macOS. Gratis för icke-kommersiell användning.
Linux2 apps
JetBrains Rider Freemium Öppna .csproj/.sln direkt; fullt stöd för C#-projekt på macOS. Gratis för icke-kommersiell användning.
Visual Studio Code (with C# Dev Kit) Gratis Öppna mappen som innehåller .csproj; tillägget C# Dev Kit upptäcker och laddar projektet för redigering, bygge och felsökning.

Tekniska detaljer

djup specifikation
FilstrukturXML med ett <Project>-rotelement som innehåller <PropertyGroup>, <ItemGroup> och valfria <Target>-underelement
Varianter av projektformatSDK-style (sedan .NET Core / VS 2017): kompakt, använder Sdk-attribut och implicit *.cs-globbing. Legacy full-framework: utförlig, listar varje källfil explicit, xmlns 2003-schema
Sdk-attribut<Project Sdk="Microsoft.NET.Sdk"> inleder varje modernt SDK-style-projekt; varianter inkluderar Microsoft.NET.Sdk.Web (ASP.NET Core) och Microsoft.NET.Sdk.Worker
Deklaration av målramverk<TargetFramework>-elementet specificerar målet för kompilering (t.ex. net9.0, net48, netstandard2.0); <TargetFrameworks> (semikolonseparerade) möjliggör flera mål i en fil
Deklaration av NuGet-beroenden<PackageReference Include="PackageName" Version="x.y.z" />-element inuti en <ItemGroup>; ersätter det äldre tillvägagångssättet med packages.config
Referenser mellan projekt<ProjectReference Include="../Other/Other.csproj" />-element; MSBuild löser byggordning och beroendegraf automatiskt
Inkludering av källfiler (SDK-style)Implicit - alla *.cs-filer under projektkatalogen kompileras automatiskt utan explicita <Compile>-poster
UtdatatyperExe (konsolapplikation), WinExe (Windows GUI), Library (klassbibliotek eller NuGet-paket); ställs in via egenskapen <OutputType>
ByggmotorMSBuild - anropas direkt eller via dotnet build, dotnet run och dotnet publish från .NET SDK CLI
TextkodningUTF-8 vanlig text; ingen binär signatur eller magic bytes; BOM är valfritt och utelämnas i de flesta moderna verktyg
Typisk filstorlekUnder 1 KB för SDK-style-projekt; upp till ~50 KB för stora legacy full-framework-projekt med många explicita filposter
MIME-typapplication/xml (accepteras även som text/xml eller text/plain)
Följefil.csproj.user lagrar användarspecifika, lokala IDE-inställningar (t.ex. argument för felsökningsstart) och bör inte checkas in i versionshantering
LösningsgrupperingEtt eller flera .csproj-projekt kombineras i en .sln eller den nyare .slnx-lösningsfilen för IDE- och flerprojekt-CLI-byggen
Motsvarande projektformat.vbproj (Visual Basic .NET) och .fsproj (F#) använder samma MSBuild XML-schema och kan samexistera i samma lösning
Släppt2002 (Visual Studio .NET / .NET Framework 1.0)
Senaste versionSDK-style project format (since .NET Core / VS 2017, 2017); current with .NET 9 (2024)
Öppen standardJa · royaltyfri
Specifikationlearn.microsoft.com

CSPROJ-konverteringar

Frågor & svar

frågat av användare
Ställ en snabb fråga
Få hjälp från personer som arbetar med CSPROJ-filer. Var specifik - inkludera ditt system och programversion.
Inget konto behövs · svar vanligtvis inom en dag

Inga frågor än - bli den första att fråga om CSPROJ-filer.

Vanliga frågor

Hur öppnar jag en CSPROJ-fil?
Öppna den (eller dess .sln) i Microsoft Visual Studio (gratis Community-utgåva). Utan fullständiga VS, öppna mappen i VS Code med C# Dev Kit, använd JetBrains Rider, eller bygg från en terminal med det kostnadsfria .NET SDK («dotnet build»). För att bara läsa den visar vilken textredigerare som helst dess XML.
Kan jag öppna en CSPROJ-fil utan Visual Studio?
Ja. Använd det kostnadsfria .NET SDK från kommandoraden («dotnet build MyProject.csproj»), VS Code med C# Dev Kit, eller JetBrains Rider. Dessa är standardalternativen även på macOS och Linux.
Varför finns det ingen kod i min CSPROJ-fil?
Eftersom en .csproj inte innehåller någon källkod - det är bara byggdefinitionen (vilka filer som ska kompileras, referenser, målramverk). Koden lever i .cs-filerna. Öppna projektet i en IDE för att se allt.
Vad är skillnaden mellan en CSPROJ- och en SLN-fil?
En .csproj definierar ETT C#-projekt (dess filer, referenser, bygginställningar). En .sln grupperar ett eller flera .csproj/.vbproj/.vcxproj-projekt i en gemensam arbetsyta. Du öppnar .sln för att arbeta med allt, eller en .csproj för bara det projektet.
Vad är skillnaden mellan SDK-style och legacy CSPROJ?
Det moderna SDK-style-projektet (sedan 2017) börjar med <Project Sdk="Microsoft.NET.Sdk">, är kort och inkluderar källfiler automatiskt. Legacy-formatet (före 2017, .NET Framework) listar explicit varje fil och referens och är mycket längre. dotnet CLI kan hjälpa till att migrera legacy till SDK-style.
Kan jag redigera en CSPROJ-fil för hand?
Ja - det är XML, så du kan redigera referenser, målramverk eller byggalternativ i valfri redigerare. Det är säkrare att låta Visual Studio eller «dotnet add package» redigera den, men handredigering av SDK-style-projekt är vanligt och har gott stöd.

Referenser

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

Fortsätt utforska

genom databasen

Populära filtillägg denna vecka

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.JPGJPEG Image
5.MDMarkdown Document
6.EXEWindows Executable (Portable Executable)
7.RPMSGRestricted Permission Message
8.DATProgram Data File (generic)
9.BINCD/DVD Disc Image (BIN/CUE)
10.EMLE-Mail Message (RFC 822 / MIME)

Relaterade filtillägg

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

Gratis filverktyg

En filidentifierare och bildkonverterare direkt i webbläsaren - allt körs på din enhet.

Öppna verktygslådan

Bläddra bland filtillägg A-Ö