Semic Version Changer (.NET)
Semic Version Changer (.NET) is a Visual Studio Code extension for bulk editing version-related properties across many .csproj files in the current workspace.
Demo

Features
- Scans single-root and multi-root workspaces for
.csproj files
- Reads
Version, AssemblyVersion, FileVersion, ApplicationDisplayVersion, ApplicationVersion, InformationalVersion, and PackageVersion
- Supports grouped updates for selected projects
- Provides a desktop-style React webview UI with filtering, sorting, details, status messages, and options
- Handles malformed XML, missing tags, duplicate entries, read-only files, and optional backup creation
Requirements
- Node.js 20+ recommended
- VS Code 1.116+
Development
Install dependencies:
npm install
Run type checks:
npm run lint
Build the extension host and webview:
npm run compile
Start local development:
- Open the project in VS Code.
- Run
npm run compile at least once.
- Press
F5.
- In the Extension Development Host run
Semic Version Changer: Open.
Useful scripts:
npm run compile - build webview and extension host
npm run build:webview - build only the React webview
npm run watch - watch extension host and webview
npm run watch:webview - watch only webview changes
npm run lint - strict TypeScript validation
npm run package - build and create a .vsix
npm run publish:marketplace - publish the current version to VS Code Marketplace
Commands
Semic Version Changer: Open
Semic Version Changer: Refresh Projects
Semic Version Changer: Update Selected Projects
Packaging And Deploy To VS Code Marketplace
There are two common deployment paths: local .vsix packaging and Marketplace publishing.
A. Create A Local VSIX Package
- Make sure the version in
package.json is updated.
- Build the project:
npm run compile
- Create the package:
npm run package
This produces a .vsix file in the repository root. You can install it locally with:
code --install-extension semic-version-changer-<version>.vsix
Or from VS Code:
- Open Extensions view.
- Click the
... menu.
- Choose
Install from VSIX....
B. Publish To Visual Studio Code Marketplace
Before first publish:
- Create a publisher in the Visual Studio Marketplace management portal.
- Make sure
publisher in package.json matches that publisher ID.
- Create a Personal Access Token in Azure DevOps / Marketplace with Marketplace publish permissions.
- Install
vsce if you want to use it globally, or use the local one from this project.
Login once:
npx vsce login <your-publisher-id>
Publish a new version:
npm run publish:marketplace
Publish a specific semver bump:
npx vsce publish patch
Other useful variants:
npx vsce publish minor
npx vsce publish major
Recommended Release Flow
- Update the version in
package.json.
- Run:
npm run lint
npm run compile
- Verify the extension manually in the Extension Development Host.
- Create a local package:
npm run package
- Publish:
npm run publish:marketplace
Note: use npm run publish:marketplace, not plain npm publish. The plain npm publish command is for the npm registry, not for the VS Code Marketplace.
Marketplace Checklist
Before publishing, verify:
name, displayName, publisher, and version in package.json
- command titles and descriptions
README.md
- extension icon, if you add one later
.vscodeignore excludes source-only files you do not want to ship
npm run lint passes
npm run compile passes