A few days ago my Visual Studio 2017 failed to generate bindings between my SpecFlow feature files and my step files, even after rebuilding and also after I right-clicked on the features an ran the custom SpecFlow Generator Tool (Run Custom Tool) on the feature files.

It turns out that SpecFlow generates a Temp .cache file which can be locked in your Temp directory. The file is named specflow-stepmap-<YourProjectName>.cache. If you have two projects open where the names are the same, you may run into these issues.

To fix this, do the following:

  • Open your %TEMP% directory
  • Remove files matching specflow-*.cache
  • Restart Visual Studio if necessary

Or in Powershell:

Get-Item -Path "$($env:temp)\specflow*.cache" | Remove-Item -Force