Eine kleine Sammlung von verschiedenen Templates zur Beschleunigung der .NET-Entwicklung und vereinfachten NuGet-Veröffentlichung.
Kurmann.Templates
bietet eine kleine Palette von .NET Projekt-Templates, die speziell darauf ausgelegt sind, Entwicklern einen schnellen Start und eine Einhaltung von Best Practices in der .NET Entwicklung zu ermöglichen. Die enthaltenen Templates umfassen eine vorstrukturierte Basis für verschiedene Projekttypen, inklusive aller nötigen Konfigurationen für eine effiziente Veröffentlichung als NuGet-Paket.
Die Installation der Templates erfolgt unkompliziert über die .NET CLI:
dotnet new --install Kurmann.Templates
Nach der Installation sind verschiedene Templates nutzbar, die den Entwicklungsprozess unterstützen:
Dieses Template dient der Erstellung eines GitHub-Repositories, das eine .NET-Klassenbibliothek für Entitäten beinhaltet. Es enthält eine vorbereitete .gitignore
, GitHub Actions für die Veröffentlichung von NuGet-Paketen und unterstützt eine klare und einheitliche Ordnerstruktur für Ihr Projekt.
Kurzname: entities-repo
Um ein neues Repository für Ihre .NET-Entitätsklassen zu initialisieren, verwenden Sie den folgenden Befehl in Ihrem Terminal:
dotnet new entities-repo -n ProjectName --namespace RootNamespace --description ProjectDescription
Mit diesem Befehl wird eine klare und einheitliche Verzeichnisstruktur für Ihr Repository erstellt, die die Entwicklung und Veröffentlichung von NuGet-Paketen vereinfacht. Das generierte Repository sieht wie folgt aus:
ProjectName/
├── .github/
│ └── workflows/
│ └── dotnet.yml
├── src/
│ ├── Entities/
│ │ ├── Entities.csproj
│ │ └── SampleClass.cs
│ └── ProjectName.sln
├── Tests/
│ ├── GlobalUsings.cs
│ ├── SampleClassTests.cs
│ └── Tests.csproj
├── .gitignore
├── LICENSE
├── README.md
└── PackageIcon.png
Diese Struktur beinhaltet alles, was Sie für ein professionelles Entity-Management benötigen, einschließlich Continuous Integration und Package Publishing.
Der Namespace wird vom Parameter --namespace
übernommen. Die SampleClass bekommt bspw. den Namespace RootNamespace.ProjectName
.
Die ProjectDescription wird integriert im resultierenden README.md und im Description
-Tag beim Entities.csproj
und somit auch imm zugehörigen NuGet-Package.
- Kurzname:
nuget-classlib
- Erstellt eine .NET Klassenbibliothek im "Kurmann"-Namespace, vorbereitet für die NuGet-Veröffentlichung.
dotnet new nuget-classlib -n MeinNugetPaket -o src
- Kurzname:
nuget-classlib-workflow
- Generiert eine GitHub-Action-Workflow-Datei für die automatische Veröffentlichung auf NuGet.org.
dotnet new nuget-classlib-workflow
- Kurzname:
dotnet-gitignore
- Erstellt ein
.gitignore
im Arbeitsverzeichnis speziell für .NET-Entwicklungen, basierend auf aktuellen Best Practices und gängigen Ignorierungsregeln für .NET-Projekte.
Nach der Installation des Kurmann.Templates
Pakets kann das .gitignore
Template wie folgt angewendet werden:
dotnet new dotnet-gitignore
Dieser Befehl fügt ein vorkonfiguriertes .gitignore
zu Ihrem Projekt hinzu, das eine Vielzahl von für .NET-Projekte typischen temporären Dateien und Verzeichnissen ignoriert.
Das Projekt steht unter der Apache 2.0 Lizenz.
- keine
- Template
entities-repo
mit neuem Template-Symbol--description
.
- Neues Template "entities-repo" erstellt zur Initialisierung eines ganzen GitHub-Repositorys mit .NET-Projekten Entities mit Tests, Gitignore, Nuget-Packaging-Workflow.
- Klassenbibliothekts-Template unterstützt die Angabe von Namespaces
- Änderungsverlauf aus den zugehörigen veröffentlichen Nuget-Packages in dieses Readme integriert.
- Vereinfachter Workflow für Zwischenreleases mit automatischer Datumsvergabe bei Vorschauversionen nach dem Vorbild aus "Kurmann.Messaging"
- Template erstellt zur Erstellung einer GitHub-Action für die automatische Veröffentlichung von NuGet-Paketen.
- Template erstellt zur Erstellung einer Klassenbibliothek im Kurmann-Namespace.
- Template zur Erstellung einer Gitignore-Datei.
- Erste Veröffentlichung mit einer Vorlage für eine .NET-Klassenbibliothek mit NuGet-Unterstützung.