I cannot get specflow's code behind files to regenerate

In Visual studio, I chose: Tools > Options > Specflow. Then set Enable SpecFlowSingleFileGenerator Custom Tool to True.

This is a legacy setting, however, and I want to try and find a way to use MSBuild.


These are the steps I had to take to switch from using the old, 'specflowsinglefilegenerator', to generate my *.feature.cs files to having them autoupdate whenever I build the test project.

The process is described on Specflow's website, but pictures help in understanding the process.

  1. Remove 'specflowsinglefilegenerator' custom tool reference from all of your *.feature files (Before...) Before Change (After...) After change
  2. Delete the current *.feature.cs files which correspond to your *.feature files Delete *.feature.cs files
  3. Upgrade Specflow to 3.0.188 at least. the below is working for me. I am using NUnit for my test framework. NUnit3TestAdapter is needed for MS Test Explorer to recognize the tests. (The must haves in the below are: NUnit, NUnit3TestAdapter, Specflow, Selenium.Webdriver), Selenium.Support, enter image description hereenter image description here enter image description here
  4. Add the SpecFlow.Tools.MsBuild.Generation NuGet package to your project. This package is used to generate SpecFlow’s code-behind files.
  5. Add a specflow.json file to the project which contains your specflow feature files (*.feature) enter image description here enter image description here
  6. Now try rebuilding your solution. On rebuild your *.feature.cs files should get auto-generated.