.CSPROJ

Plik CSPROJ

C# Project File
Zadaj pytanie
SZYBKA ODPOWIEDŹ

Plik CSPROJ to plik projektu C# - plik XML stworzony przez Microsoft, który informuje system budowania, jak skompilować dany projekt C#: które pliki źródłowe uwzględnić, jakich pakietów NuGet użyć i w jaką wersję .NET celować. Nie zawiera on kodu źródłowego. Można go otworzyć w Visual Studio, VS Code z rozszerzeniem C# Dev Kit lub JetBrains Rider, albo zbudować z terminala za pomocą darmowego .NET SDK (dotnet build). Do samego odczytu wystarczy dowolny edytor tekstu.

Deweloper: Microsoft Kategoria: Pliki developerskie Otwarty standard MIME: application/xml
OTWIERA SIĘ NA Windows macOS Linux
Powiązane: .DO · .MD · .HEX · .XSD

Na tej stronie

Zindeksowano 19k+ rozszerzeń
Ostatnia weryfikacja Jun 28, 2026

Nie wiesz, co to za plik?

Przeciągnij dowolny plik do naszego identyfikatora - odczytujemy tylko pierwsze bajty, aby nazwać format.

Zidentyfikuj plik

Co to jest format pliku CSPROJ?

Pliki z rozszerzeniem .csproj to pliki projektów C# należące do kategorii plików programistycznych.

Co zawierają pliki .csproj?

Zawartość plików .csproj obejmuje ustawienia budowania dla projektów napisanych w języku C#. Są one generowane przez Microsoft Visual Studio lub narzędzia wiersza poleceń .NET SDK podczas tworzenia nowego projektu. W plikach .csproj można znaleźć następujące informacje:

  • nazwa projektu i typ wyjściowy (aplikacja wykonywalna lub biblioteka klas),
  • odwołania do plików projektu, zależności pakietów NuGet (<PackageReference>) oraz inne odniesienia do projektów,
  • parametry kompilacji i docelowy framework (np. net9.0 lub net48),
  • metadane zestawu (assembly), takie jak numery wersji i informacje o autorze.

Zawartość plików .csproj jest zapisana przy użyciu znacznika XML. Nowoczesne projekty używają kompaktowego formatu SDK-style, wprowadzonego wraz z .NET Core i Visual Studio 2017, który zaczyna się od <Project Sdk="Microsoft.NET.Sdk"> i zazwyczaj ma tylko kilka linii długości - źródłowe pliki .cs są wykrywane automatycznie poprzez mechanizm globbing. Starsze, spuściznowe projekty (sprzed 2017 roku) używają bardziej rozbudowanego formatu z jawną deklaracją przestrzeni nazw xmlns="http://schemas.microsoft.com/developer/msbuild/2003" i wymieniają każdy plik źródłowy z osobna.

Do czego służą pliki .csproj?

Dzięki plikom .csproj można przechowywać wszystkie parametry budowania często bardzo złożonych projektów - które mogą składać się z kilkuset plików źródłowych i zewnętrznych zależności - w jednym dokumencie. Silnik budowania MSBuild (lub polecenie CLI dotnet build) odczytuje .csproj, aby skompilować projekt. Informacje w plikach .csproj zapewniają również spójne zachowanie na różnych maszynach i w środowiskach CI, eliminując potrzebę podawania parametrów kompilacji za każdym razem. Jeden lub więcej projektów .csproj jest grupowanych razem przez plik rozwiązania (.sln lub nowszy .slnx).

Należy pamiętać, że sam .csproj nie zawiera kodu źródłowego - cały kod C# znajduje się w oddzielnych plikach .cs, do których się on odwołuje.

Czy mogę otworzyć pliki .csproj?

Pliki .csproj są generowane automatycznie po wybraniu opcji utworzenia nowego projektu. Ponieważ są one napisane w formacie XML, nawet najprostszy edytor tekstu, taki jak Notatnik, wystarczy do ich przeglądania lub edycji. Warto jednak pamiętać, że składnia XML bywa bezlitosna - bez wyraźnej potrzeby odradza się modyfikowanie plików .csproj. Pochopne zmiany w ich zawartości mogą prowadzić do niespójności między elementami projektu, co skutkuje problemami z otwarciem projektu w Visual Studio lub innych narzędziach programistycznych.

Bezpieczeństwo

RYZYKO: MEDIUM

Sam plik .csproj jest zwykłym tekstem XML i jest bezpieczny do odczytu. Prawdziwe ryzyko wiąże się z tym, co dzieje się podczas jego BUDOWANIA (BUILD) lub PRZYWRACANIA (RESTORE): projekt C# może uruchamiać zadania MSBuild, skrypty przed i po budowaniu, przywracanie pakietów NuGet (które mogą wykonywać skrypty instalacyjne), generatory kodu oraz skompilowany kod podczas debugowania/uruchamiania - więc otwarcie niezaufanego projektu i naciśnięcie „Build” lub „Run” może spowodować wykonanie dowolnego kodu. Visual Studio wyświetla monit o zaufanie dla pobranych projektów właśnie z tego powodu. Przed budowaniem sprawdź cele (targets), referencje pakietów i skrypty w nieznanym pliku .csproj i nie buduj kodu, któremu nie ufasz.

Szczegóły formatu

w pigułce
PEŁNA NAZWAC# Project Fileznany również jako Visual C# project file, MSBuild C# project
DEWELOPERMicrosoftod 2002 (Visual Studio .NET / .NET Framework 1.0)
TYP MIMEapplication/xml
TYPPlik projektu XML MSBuild definiujący sposób kompilacji jednego projektu C# (referencje, pliki, ustawienia budowania)
STANDARDOtwarty · bezpłatny
POWIĄZANE.do.md.hex.xsd

Programy otwierające pliki CSPROJ

Windows4 apps
Microsoft Visual Studio Freemium Kliknij dwukrotnie .csproj (lub .sln), aby załadować projekt; darmowa wersja Community buduje i uruchamia go. Najlepsze pełne środowisko IDE dla C#.
Visual Studio Code (with C# Dev Kit) Darmowy Otwórz folder zawierający .csproj; rozszerzenie C# Dev Kit wykryje i załaduje projekt do edycji, budowania i debugowania.
.NET SDK (dotnet CLI) Darmowy Buduj/uruchamiaj z terminala: „dotnet build MyProject.csproj” lub „dotnet run”. Nie wymaga IDE; rozwiązanie wieloplatformowe.
Notepad / any text editor Open-source Otwórz .csproj jako XML, aby przeczytać lub ręcznie edytować referencje, docelowy framework i ustawienia budowania (bez możliwości budowania).
macOS2 apps
Visual Studio Code (with C# Dev Kit) Darmowy Otwórz folder zawierający .csproj; rozszerzenie C# Dev Kit wykryje i załaduje projekt do edycji, budowania i debugowania.
JetBrains Rider Freemium Otwórz .csproj/.sln bezpośrednio; pełne wsparcie dla projektów C# na macOS. Darmowy do użytku niekomercyjnego.
Linux2 apps
JetBrains Rider Freemium Otwórz .csproj/.sln bezpośrednio; pełne wsparcie dla projektów C# na macOS. Darmowy do użytku niekomercyjnego.
Visual Studio Code (with C# Dev Kit) Darmowy Otwórz folder zawierający .csproj; rozszerzenie C# Dev Kit wykryje i załaduje projekt do edycji, budowania i debugowania.

Szczegóły techniczne

specyfikacja
Struktura plikuXML z elementem głównym <Project> zawierającym elementy podrzędne <PropertyGroup>, <ItemGroup> i opcjonalnie <Target>
Warianty formatu projektuSDK-style (od .NET Core / VS 2017): kompaktowy, używa atrybutu Sdk i niejawnego dopasowywania plików *.cs. Legacy full-framework: rozbudowany, jawnie wymienia każdy plik źródłowy, schemat xmlns 2003
Atrybut SDK<Project Sdk="Microsoft.NET.Sdk"> otwiera każdy nowoczesny projekt SDK-style; warianty obejmują Microsoft.NET.Sdk.Web (ASP.NET Core) i Microsoft.NET.Sdk.Worker
Deklaracja docelowego frameworkaElement <TargetFramework> określa cel kompilacji (np. net9.0, net48, netstandard2.0); <TargetFrameworks> (rozdzielone średnikami) umożliwia celowanie w wiele platform w jednym pliku
Deklaracja zależności NuGetElementy <PackageReference Include="NazwaPakietu" Version="x.y.z" /> wewnątrz <ItemGroup>; zastępuje starsze podejście packages.config
Referencje między projektamiElementy <ProjectReference Include="../Inny/Inny.csproj" />; MSBuild automatycznie rozwiązuje kolejność budowania i graf zależności
Dołączanie plików źródłowych (SDK-style)Niejawne - wszystkie pliki *.cs w katalogu projektu są kompilowane automatycznie bez jawnych wpisów <Compile>
Typy wyjścioweExe (aplikacja konsolowa), WinExe (Windows GUI), Library (biblioteka klas lub pakiet NuGet); ustawiane przez właściwość <OutputType>
Silnik budowaniaMSBuild - wywoływany bezpośrednio lub poprzez dotnet build, dotnet run i dotnet publish z poziomu CLI .NET SDK
Kodowanie tekstuZwykły tekst UTF-8; brak sygnatury binarnej lub magicznych bajtów; BOM jest opcjonalny i pomijany w większości nowoczesnych narzędzi
Typowy rozmiar plikuPoniżej 1 KB dla projektów SDK-style; do ok. 50 KB dla dużych projektów legacy z wieloma jawnymi wpisami plików
Typ MIMEapplication/xml (akceptowane również jako text/xml lub text/plain)
Plik towarzyszący.csproj.user przechowuje lokalne ustawienia IDE dla użytkownika (np. argumenty uruchamiania debugowania) i nie powinien być przesyłany do systemu kontroli wersji
Grupowanie w rozwiązaniaJeden lub więcej projektów .csproj jest łączonych w plik rozwiązania .sln lub nowszy .slnx dla IDE i budowania wieloprojektowego w CLI
Odpowiedniki formatów projektów.vbproj (Visual Basic .NET) i .fsproj (F#) używają tego samego schematu XML MSBuild i mogą współistnieć w tym samym rozwiązaniu
Wydano2002 (Visual Studio .NET / .NET Framework 1.0)
Najnowsza wersjaSDK-style project format (since .NET Core / VS 2017, 2017); current with .NET 9 (2024)
Otwarty standardTak · bezpłatny (royalty-free)
Specyfikacjalearn.microsoft.com

Konwersje CSPROJ

Pytania i odpowiedzi społeczności

pytania użytkowników
Zadaj szybkie pytanie
Uzyskaj pomoc od osób pracujących z plikami CSPROJ. Bądź precyzyjny - podaj system i wersję oprogramowania.
Konto nie jest wymagane · odpowiedzi zazwyczaj w ciągu doby

Brak pytań - bądź pierwszą osobą, która zapyta o pliki CSPROJ.

Najczęściej zadawane pytania

Jak otworzyć plik CSPROJ?
Otwórz go (lub powiązany plik .sln) w Microsoft Visual Studio (dostępna darmowa edycja Community). Bez pełnego VS możesz otworzyć folder w VS Code z C# Dev Kit, użyć JetBrains Rider lub zbudować projekt z terminala za pomocą darmowego .NET SDK („dotnet build”). Aby tylko go przeczytać, dowolny edytor tekstu wyświetli strukturę XML.
Czy mogę otworzyć plik CSPROJ bez Visual Studio?
Tak. Użyj darmowego .NET SDK z wiersza poleceń („dotnet build MyProject.csproj”), VS Code z C# Dev Kit lub JetBrains Rider. Są to standardowe opcje również na systemach macOS i Linux.
Dlaczego w moim pliku CSPROJ nie ma kodu?
Ponieważ .csproj nie zawiera kodu źródłowego - jest to tylko definicja budowania (które pliki skompilować, referencje, docelowy framework). Kod znajduje się w plikach .cs. Otwórz projekt w IDE, aby zobaczyć wszystko.
Jaka jest różnica między plikiem CSPROJ a SLN?
Plik .csproj definiuje JEDEN projekt C# (jego pliki, referencje, ustawienia budowania). Plik .sln grupuje jeden lub więcej projektów .csproj/.vbproj/.vcxproj w jeden obszar roboczy. Otwierasz .sln, aby pracować nad całością, lub .csproj dla konkretnego projektu.
Jaka jest różnica między formatem SDK-style a legacy CSPROJ?
Nowoczesny projekt SDK-style (od 2017 r.) zaczyna się od <Project Sdk="Microsoft.NET.Sdk">, jest krótki i automatycznie dołącza pliki źródłowe. Format legacy (sprzed 2017 r., .NET Framework) jawnie wymienia każdy plik i referencję, przez co jest znacznie dłuższy. Narzędzie dotnet CLI może pomóc w migracji z formatu legacy na SDK-style.
Czy mogę ręcznie edytować plik CSPROJ?
Tak - to format XML, więc możesz edytować referencje, docelowy framework lub opcje budowania w dowolnym edytorze. Bezpieczniej jest pozwolić na to Visual Studio lub użyć „dotnet add package”, ale ręczna edycja projektów SDK-style jest powszechna i dobrze wspierana.

Źródła

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

Odkrywaj dalej

w całej bazie danych

Najpopularniejsze rozszerzenia w tym tygodniu

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

Powiązane rozszerzenia

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

Darmowe narzędzia do plików

Identyfikator plików i konwerter obrazów w przeglądarce - wszystko działa na Twoim urządzeniu.

Otwórz przybornik

Przeglądaj rozszerzenia plików A-Z