github/gitignore · Dotnet.gitignore
.NET-.gitignore-Vorlage erklärt
Erklärt, warum Dotnet.gitignore bin·obj, Debug·Release, NuGet-Pakete, MSBuild-Binärlogs, Testergebnisse und .env ignoriert, und wie sie sich von der VisualStudio-Vorlage unterscheidet.
Dotnet.gitignore ist eine knappe Vorlage für .NET-Projekte im SDK-Stil (mit dotnet new erstellte C#- und F#-Projekte). Wie ihr Kopfkommentar erklärt, sollten Sie bei Verwendung von Visual Studio zusätzlich die VisualStudio-Vorlage nutzen, die weit mehr IDE-bezogene Regeln enthält.
Wenn Sie mit VS Code, Rider oder auf der Kommandozeile entwickeln, blockiert diese Vorlage allein bereits die meisten Build-Ergebnisse und Tool-Nebenprodukte.
Regeln im Einzelnen
| Muster | Was ignoriert wird und warum |
|---|---|
[Bb]in/[Oo]bj/[Dd]ebug/[Rr]elease/x64/x86/bld/ | Build-AusgabeAssemblies und Zwischendateien (obj/project.assets.json usw.), die dotnet build erzeugt. Die Klammern erfassen alle Schreibvarianten wie Bin und bin. |
artifacts/project.lock.jsonproject.fragment.lock.json | .NET-Artefakteartifacts/ ist der Ordner des vereinheitlichten Ausgabelayouts, das seit .NET 8 verfügbar ist; project.lock.json ist das Wiederherstellungsergebnis aus der alten project.json-Ära. |
*.nupkg*.snupkg | NuGet-PaketeMit dotnet pack erzeugte Pakete und Symbolpakete. Es sind die Artefakte, die in einem NuGet-Feed veröffentlicht werden. |
*.binlog[Tt]est[Rr]esult*/[Bb]uild[Ll]og.*TestResult.xmlnunit-*.xmlCodeCoverage/ | Logs und TestergebnisseMSBuild-Binärlogs (Option -bl) sowie Test- und Coverage-Ergebnisse. Binärlogs können sensible Werte wie Umgebungsvariablen enthalten; seien Sie beim Teilen vorsichtig. |
.env~$**~ | Umgebung und temporäre DateienUmgebungsvariablendateien, Sperrdateien, die beim Öffnen von Office-Dokumenten entstehen (~$Dokument.docx), und Sicherungsdateien von Editoren. |
Hinweise für die Praxis
- Die Regel
[Ll]og/ignoriertlog-Ordner in jeder Tiefe. Heißt ein Namespace-Ordner Ihrer QuellenLog, ergänzen Sie eine Ausnahmeregel. packages.lock.json(NuGet-Lock-Datei) wird nicht ignoriert. Wenn Sie den Sperrmodus nutzen, committen Sie die Datei.- Speichern Sie Benutzergeheimnisse mit
dotnet user-secretsaußerhalb des Projekts (im Benutzerprofil), müssen Sie sich um gitignore nicht kümmern.
Originalvorlage
Dotnet.gitignore
## A streamlined .gitignore for modern .NET projects## including temporary files, build results, and## files generated by popular .NET tools. If you are## developing with Visual Studio, the VS .gitignore## https://github.com/github/gitignore/blob/main/VisualStudio.gitignore## has more thorough IDE-specific entries.#### Get latest from https://github.com/github/gitignore/blob/main/Dotnet.gitignore# Build results[Dd]ebug/[Dd]ebugPublic/[Rr]elease/[Rr]eleases/x64/x86/[Ww][Ii][Nn]32/[Aa][Rr][Mm]/[Aa][Rr][Mm]64/bld/[Bb]in/[Oo]bj/[Ll]og/[Ll]ogs/# .NET Coreproject.lock.jsonproject.fragment.lock.jsonartifacts/# ASP.NET ScaffoldingScaffoldingReadMe.txt# NuGet Packages*.nupkg# NuGet Symbol Packages*.snupkg# dotenv environment variables file.env# Others~$**~CodeCoverage/# MSBuild Binary and Structured Log*.binlog# MSTest test Results[Tt]est[Rr]esult*/[Bb]uild[Ll]og.*# NUnit*.VisualState.xmlTestResult.xmlnunit-*.xml
Vorlagenquelle: github/gitignore/Dotnet.gitignore @356fd7b (2026-09-11) · CC0-1.0