Versioning.NET is a collection of PowerShell-based Git hooks for automatic versioning of .NET projects, including WinUI, .NET MAUI, Blazor, Console, WPF, and Xamarin Forms.
All hooks run standalone scripts that manage build numbers, release notes, and update your README file accordingly.
- 🔢 Automatic Versioning: Appends the current build version to every Git commit.
- 📄 Release Notes Generation: Automatically updates a
releasenotes.md
file in a markdown table format. - 📖 README Integration: Adds the latest build information under the
# Buildversion
section of yourREADME.md
. - 🛠️ Multi-Project Support: Works with WinUI, .NET MAUI, Blazor Web App, Console Apps, WPF, and Xamarin Forms.
- ⚡ Simple Setup: No external dependencies — just PowerShell and Git.
- PowerShell installed and available in the system path.
- Git installed and initialized in your repository.
-
Copy the Git Hooks:
- Place all provided hook files into your repository’s
.git/hooks
directory.
- Place all provided hook files into your repository’s
-
Project Preparation:
- Create a
find.me
file in every project directory containing a.csproj
file. - For Xamarin Forms, create an additional
find.me.android
in the Android project directory.
- Create a
-
Optional – README Setup:
- Add a
# Buildversion
section in yourREADME.md
to enable automatic updates of build versions directly into your README.
- Add a
- When you commit changes:
- The script automatically injects the build version into the commit message following the format:
Example:
V<MAJOR>.<MINOR>.<PATCH>.<BUILD> - Commit Message
V1.0.2.25 - Added user authentication feature
- It updates or creates the
releasenotes.md
file with a new markdown table entry. - If your
README.md
contains a# Buildversion
section, it appends the latest build version and notes directly into it.
- The script automatically injects the build version into the commit message following the format:
Project Type | Requirements |
---|---|
WinUI | find.me in the project folder |
.NET MAUI | find.me in the project folder (Windows and Android only) |
Blazor Web App | find.me in the server project folder |
Console Apps | find.me in the project folder |
WPF | find.me in the project folder |
Xamarin Forms | find.me in the shared project folder and find.me.android in the Android project folder |
Commit Message Example:
V1.2.5.18 - Added advanced logging system
README.md Example with # Buildversion section:
# Buildversion
| Version | Release Notes |
|--|--|
| 1.2.5.18 | Added advanced logging system |
| 1.2.5.17 | Improved database migration scripts |
Contributions are very welcome! Please open issue, submit pull requests, or propose features you would like to see.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details. 📄
If you have any questions, suggestions, or need assistance, please open an issue to connect with us! 🤝
Created by owndev - Bringing automation to your .NET projects! 🚀