JJ.AutoIncrementVersion
4.3.5802
Prefix Reserved
dotnet add package JJ.AutoIncrementVersion --version 4.3.5802
NuGet\Install-Package JJ.AutoIncrementVersion -Version 4.3.5802
<PackageReference Include="JJ.AutoIncrementVersion" Version="4.3.5802" />
<PackageVersion Include="JJ.AutoIncrementVersion" Version="4.3.5802" />
<PackageReference Include="JJ.AutoIncrementVersion" />
paket add JJ.AutoIncrementVersion --version 4.3.5802
#r "nuget: JJ.AutoIncrementVersion, 4.3.5802"
#:package JJ.AutoIncrementVersion@4.3.5802
#addin nuget:?package=JJ.AutoIncrementVersion&version=4.3.5802
#tool nuget:?package=JJ.AutoIncrementVersion&version=4.3.5802
What is JJ.AutoIncrementVersion ?!
We want our * back!
Those don't work anymore for version numbers. But we want auto-incremental numbers!
This package allows you to use $(BuildNum) instead.
How to Use?
You can use $(BuildNum) inside your version number, like this:
1.0.$(BuildNum)
And the effective version becomes something like this:
1.0.123
Every time you build your project, the $(BuildNum) is simply incremented by 1.
Setup
- Install the package.
- Build twice for luck.
- Start using
$(BuildNum).
Advanced Use?
Nothing:
- No config
- No command line
- No hidden options
Just:
- Install the package,
- Add
$(BuildNum)to your version. - And build.
Bonus "Features" (Shush)
- Logs could be "less screamy", but are perfect as is.
- You can edit BuildNum.xml manually, but you probably won't want to.
- Kills "up to date" build messages
- Increments multiple times per solution build
- Accidental scoping / multiple version number ranges
- Multi-user sequence contention. (My excuse: the asterisk * had the same problem.)
- Works solution-wide by referencing one project, or it doesn't.
- Typo fails with irrelevant error; not my fault!
- NCrunch will wake up at some point, eventually.
- BuildNum zombie resurrection: "You uninstalled the package, but $(BuildNum) is still there!"
- Custom build number: Pass /p:BuildNum=
<number>to set the package version at build time. - But don't expect your original version number back.
Azure Pipelines Integration
Visual Studio Marketplace BuildNum is a zero-config task that reads the $(BuildNum) variable for you.
Release Notes
1.8 |
Initial release |
1.9 |
Fix file in use error |
2.0 |
Prevent IntelliSense rescan |
2.1 |
Housekeeping |
2.2 |
Reduce memory leak in "probably updated nugets" process |
2.3 |
Total restructure, zero effect |
2.4 |
BuildNum exists? Directory.Build.props = optional |
3.5 |
BuildNum.xml inclusion = optional (for customization for performance) |
3.6 |
Avoid modifying BuildNum prop mid-build, using temp prop to write BuildNum.xml |
4.2 |
Fix race-condition causing duplicating content in auto-created Directory.Build.props |
| Add variable BuildNumWasFromXmljj for future use | |
4.3 |
Azure Pipelines task for reading out BuildNum |
💬 Feedback
Found an issue? Let me know.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
-
.NETStandard 2.1
- No dependencies.
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.3.5802 | 0 | 3/28/2026 |
| 4.2.5746 | 358 | 3/18/2026 |
| 3.6.4594 | 156 | 2/5/2026 |
| 3.5.4560 | 94 | 2/4/2026 |
| 2.4.2417 | 438 | 5/22/2025 |
| 2.4.2407 | 332 | 4/29/2025 |
| 2.3.2405 | 220 | 4/29/2025 |
| 2.2.2204 | 260 | 4/22/2025 |
| 2.2.2201 | 216 | 4/22/2025 |
| 2.1.2069 | 182 | 4/19/2025 |
| 2.0.1688 | 393 | 4/4/2025 |
| 1.9.1106 | 568 | 3/30/2025 |
| 1.8.1041 | 632 | 3/27/2025 |
| 1.8.1024 | 214 | 3/27/2025 |
| 1.8.1000 | 211 | 3/27/2025 |
| 1.8.904 | 211 | 3/27/2025 |