Version Sync keeps AssemblyVersion, FileVersion, and Version in sync across every project in your Visual Studio solution — automatically.
The Problem
Multi-project solutions often drift: one project ships as 2.3.1.1, another as 2.2.0.1, and your .nuspec says 2.1.0.3. Tracking them down manually wastes time and causes packaging headaches.
The Solution
Version Sync gives you a single source of truth for version numbers. Choose a sync mode, and the extension handles the rest — on every build or on demand.
Features
| Feature |
Description |
| Auto-Increment on Build |
Automatically bumps the version each time you build. Choose which component to increment: Major, Minor, Patch, or Revision. Optionally limit auto-increment to Release builds only (non-Release builds still sync without incrementing). |
| Master Project Mode |
Designate one project as the version source; all other projects follow its version. |
| Directory.Build.props Support |
Detects and updates centralized version properties in Directory.Build.props so SDK-style solutions stay consistent. |
| SDK & Legacy Project Support |
Works with both SDK-style (.csproj) and legacy .NET Framework projects (AssemblyInfo.cs). |
| VSIX Manifest Sync |
Updates source.extension.vsixmanifest so your extension version matches the solution version. |
| NuSpec Sync |
Finds standalone .nuspec files and updates their version element. |
| Version Report |
Generates a read-only report of every project's current version, written to the Output window. |
| Exclude Patterns |
Skip projects that should not be versioned using glob-style patterns (test projects, samples, etc.). |
| Configuration Dialog |
A WPF dialog to view all project versions, choose sync mode, set increment strategy, and save settings — all without leaving the IDE. |
| First-Run Auto-Detection |
When you open a solution that has no Version Sync settings, the configuration dialog opens automatically and seeds the version from the highest version found across your projects. |
| Per-Repository Settings |
Settings are stored in a .versionsync JSON file at the repository root, so every team member shares the same configuration via source control. |
Supported Visual Studio Editions
- Visual Studio 2022 Community, Professional, and Enterprise (17.x)
- Visual Studio 2026 Community, Professional, and Enterprise (18.x)
Getting Started
- Install the extension from the Visual Studio Marketplace.
- Open a solution.
- First-run: If no
.versionsync settings file exists, the configuration dialog opens automatically with the version pre-populated from your projects.
- Manual configuration: Go to Build → Version Sync → Configure... to open the configuration dialog at any time.
- Choose a Sync Mode:
- Auto-Increment — the extension manages the version and bumps it on each build based on the selected increment strategy (Major, Minor, Patch, or Revision).
- Master Project — right-click a project in Solution Explorer and select Set as Version Master. All other projects will receive that project's version.
- Optionally configure:
- Increment on Build — enable or disable automatic version bumping on build.
- Release Builds Only — restrict auto-increment to Release configuration builds (non-Release builds still sync versions without incrementing).
- Exclude Patterns — glob-style patterns to skip specific projects from version synchronization.
- Click Save. From now on, every build keeps your versions aligned.
Commands
All commands are located under the Build menu in Visual Studio.
| Menu Path |
Command |
What It Does |
| Build → Version Sync |
Sync Versions Now |
Immediately syncs and increments all project versions based on your saved settings. |
| Build → Version Sync |
Configure... |
Opens the configuration dialog to view project versions, choose sync mode, set increment strategy, and save settings. |
| Build → Version Sync |
Version Report |
Generates a version summary for all projects and writes it to the Output window. |
| Solution Explorer (project context menu) |
Set as Version Master |
Designates the selected project as the version source and switches to Master Project mode. |
Settings File
Version Sync stores its configuration in a .versionsync JSON file at the repository root. This file includes:
- version — the current version string applied to all projects
- syncMode —
AutoIncrement or MasterProject
- incrementStrategy —
Major, Minor, Patch, or Revision
- incrementOnBuild — whether to auto-increment on build
- releaseBuildsOnly — whether to restrict incrementing to Release builds
- masterProjectRelativePath — the relative path to the master project (when using Master Project mode)
- excludePatterns — glob-style patterns for projects to skip
Commit this file to source control so the entire team shares the same version configuration.
Feedback & Issues
Found a bug or have a feature request? Please email David at dotnetdave@live.com.
License
Copyright © David McCarter — dotNetTips.com. All rights reserved.
| |