SpecSync Documentation
Getting StartedConfigurationGuidesDownloads
Azure DevOps
Azure DevOps
  • Introduction to SpecSync for Azure DevOps
  • Getting started
    • Getting started using SpecFlow
    • Getting started using Cucumber or other Gherkin-based BDD tool
  • Installation & Setup
    • Install as .NET tool
    • Install as .NET Console App
    • Install as native binaries for Linux or macOS
    • Install as Docker image
    • Setup and Configure
  • Features
    • Push features
      • Pushing scenario changes to Test Cases
      • Configuring the format of the synchronized test cases
      • Synchronizing Scenario Outlines
      • Add new Test Cases to an Area or an Iteration
      • Mark Test Cases as Automated
      • Setting Test Case state on change
      • Update Test Case fields
      • Attach files to Test Cases using tags
      • Customization: Setting Test Case fields with default values
      • Customization: Update custom Test Case fields on push
      • Customization: Ignoring marked Test Case steps
      • Customization: Ignoring Test Case Tags
      • Customization: Ignore non-supported local tags
      • Customization: Mapping tags
      • Customization: Synchronizing scenarios from feature branches
      • Customization: Reset Test Case state after change
      • Customization: Automatically link changed Test Cases
      • Customization: Synchronize linked artifact titles
      • Customization: Add Test Cases to Suites
      • Customization: Do not synchronize title
    • Pull features
      • Pulling Test Case changes to local scenarios
    • Common synchronization features
      • Configuration key
      • Remote scope
      • Linking Work Items using tags
      • Synchronizing Test Case hierarchies using Test Suites
      • Include synchronized Test Cases to a Test Suite (deprecated)
      • Excluding scenarios from synchronization
      • Synchronization conflict resolution
      • Re-link scenarios to new Test Cases
    • Test result publishing features
      • Publishing test result files
      • Support for Azure DevOps Test Plan / Test Suite based test execution
      • Customization: Publishing test results to multiple Test Suites
    • General features
      • Azure DevOps authentication options
      • Configuration file
      • Hierarchical configuration files
      • Local test case conditions
      • Configuration wizards
      • SpecSync plugins
    • Customizations
    • Plugin list
  • Licensing
  • Guides
    • What is my Azure DevOps project URL?
    • How to define the local feature-set to be synchronized
    • Filters and scopes
    • How to synchronize automated test cases
    • How to use SpecSync from build or release pipeline
    • How to publish test results from pipelines using the VSTest task
    • How to use the SpecSync Azure DevOps pipeline tasks
    • How to link GitHub pull requests
    • How to upgrade to a newer version of SpecSync
    • How to attach files to test results
    • Using SpecSync with SpecFlow+
    • Using SpecSync with Cucumber
    • Using SpecSync with Cypress
    • Using SpecSync with Postman
    • Using SpecSync with TestNG
    • Using SpecSync on macOS or Linux
    • Using SpecSync inside a Docker container
    • How to handle Test Cases of multiple parallel application releases
    • Migrating from SpecSync v3 to v5
    • Migrating from SpecSync v2 to v3
    • Migrating from SpecSync v1 to v2
  • Changelog
  • Release Model and Roadmap
  • Downloads
  • Reference
    • Command line reference
      • init
      • upgrade
      • push
      • pull
      • publish-test-results
      • re-link
      • version
    • Configuration reference
      • toolSettings
      • local
      • remote
      • knownRemotes
      • synchronization
        • push
        • pull
        • automation
        • state
        • areaPath
        • iterationPath
        • links
        • attachments
        • format
        • fieldUpdates
      • hierarchies
      • publishTestResults
      • specFlow
      • reqnroll
      • customizations
    • Compatibility
    • Older versions
  • Contact
    • SpecSync Support
    • Troubleshooting
    • FAQ
  • Project Website
Powered by GitBook
On this page
  • Step 1: Initialize .NET local tool configuration (if needed)
  • Step 2: Install SpecSync as a .NET local tool
  • Step 3: Verify installation
  • Step 4: Restore SpecSync for other people working with your project
  • Upgrading SpecSync .NET tool

Was this helpful?

  1. Installation & Setup

Install as .NET tool

PreviousInstallation & SetupNextInstall as .NET Console App

Last updated 1 month ago

Was this helpful?

This install method is available for machines with .NET SDK 6 or higher (including .NET 7, .NET 8, .NET 9) installed regardless of whether the BDD project uses .NET or whether it uses .NET Core. Other installation options available.

The most convenient way to use SpecSync is to install it as a .NET tool. While .NET tools require .NET 6, 7, 8 SDK or .NET 9 SDK to be installed, that can be installed to any platforms, including Linux and macOS. It also supports execution in Docker containers. .NET 9 SDK can be installed from the .NET Download page. We recommend installing the latest .NET SDK.

The .NET 6 and .NET 7 frameworks are out of support and will not receive security updates in the future. SpecSync versions v6 will not run with .NET 6 and .NET 7. Please use SpecSync with .NET 8 or any of the other supported platforms.

SpecSync can be installed as .NET tool, even if the project does not use .NET (e.g. uses Cucumber Java) or if it uses a different version of .NET (e.g. .NET Framework v4.7).

SpecSync should be installed as a local .NET tool (.NET tools can also be installed globally for the machine, but that is more suitable for general, non project specific tools). By installing as local tool, you can use different SpecSync versions for different projects and the required SpecSync version is registered in the project repository. You can read more about .NET local tools on Microsoft Docs.

Step 1: Initialize .NET local tool configuration (if needed)

If you haven't used any .NET local tool in your project, you need to create the necessary configuration file. Otherwise this step can be skipped.

For initializing the configuration files, you need to run the dotnet new tool-manifest command from the solution or repository root directory.

dotnet new tool-manifest

This command creates a manifest file named dotnet-tools.json under the .config directory. This file should be added to source control so that all other members of the team can use the same tools.

Step 2: Install SpecSync as a .NET local tool

Once the .NET local tool configuration is initialized SpecSync can be easily installed using the dotnet tool install command. This will download and install the latest version of SpecSync from NuGet.org.

dotnet tool install SpecSync.AzureDevOps

In case there is a custom NuGet source configured in your organization that does not mirror SpecSync packages, you might receive an error. In that case specifying the NuGet package source might help.

Step 3: Verify installation

SpecSync is ready to run using the dotnet specsync command. You can test the installation by checking the installed SpecSync version.

dotnet specsync version

If the correct version number is displayed, you are ready to move on to setup and configure SpecSync for the first synchronization. Check the Setup and Configure page for the details.

Step 4: Restore SpecSync for other people working with your project

To be able to use the .NET local tools you have installed by other members of the same project, they need to "restore" the installed tools. This can be performed using the dotnet tool restore command, that restores all .NET local tools of the project. See more information about this command on Microsoft Docs.

The same command should be performed in build servers when SpecSync is integrated to the CI pipeline.

dotnet tool restore

Upgrading SpecSync .NET tool

There are several ways to upgrade SpecSync if it was installed as a .NET tool. The most simple way is to use the dotnet tool update command. See more information about this command on Microsoft Docs.

The following command upgrades SpecSync to the latest release version.

dotnet tool update SpecSync.AzureDevOps

You can also upgrade SpecSync to a specific version using the --version option.

dotnet tool update SpecSync.AzureDevOps --version 3.3.8

To be able to upgrade to a preliminary version, you always need to specify the exact version number explicitly using the --version option.

You can specify the package source by adding the --add-source https://api.nuget.org/v3/index.json --ignore-failed-sources command line options to the command. For further solutions for this problem, please check the

For a special automated Test Case scenario you might need to install an additional NuGet package to your project. This is usually not necessary even for .NET projects. For details please check the .

Video tutorial about installing SpecSync as a .NET tool
setup instructions
Troubleshooting guide