Skip to content

The project bindings (e.g. step definitions) could not be discovered. Navigation, step completion and other features are disabled. #164

@jameswtelfer

Description

@jameswtelfer

Used Visual Studio

Visual Studio 2026

Are the latest Visual Studio updates installed?

Yes

Content of reqnroll.json (if present)

{
    "$schema": "https://schemas.reqnroll.net/reqnroll-config-latest.json",
    // add the line below
    "generator": { "allowRowTests": false },

    "bindingAssemblies": [
    ]
}

Issue Description

The latest fixes for this problem do not work for me, or a couple of others working on the same codebase.

When opening a feature file, I get the following in the output window from the reqnroll extension:

Info: OnActivityStarted: Starting Visual Studio Extension...
Info: CreateProjectScope: Initializing project: Repro
Info: OnSettingsInitialized: Project settings initialized: .NETFramework,Version=v4.8,Reqnroll:3.3.3
Warning: AndDiscoveryProviderSucceed: Error during binding discovery. 
Command executed:
  T:\> C:\Program Files\dotnet\dotnet.exe exec "c:\program files\microsoft visual studio\18\professional\common7\ide\extensions\40qwqnl5.jmg\Connectors\Reqnroll-Generic-net8.0\reqnroll-vs.dll" discovery T:\Rerpo.dll D:\GitHub\reqnroll-vs-issue-repro\Repro\reqnroll.json
Exit code: 0
Message: 
Could discover bindings via: ReqnrollConnector.Discovery.DefaultBindingProvider: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> Reqnroll.ReqnrollException: Unable to load plugin: T:\Reqnroll.MSTest.ReqnrollPlugin.dll. Please check https://go.reqnroll.net/doc-plugins for details. (Framework: .NET 8.0.25)
 ---> System.TypeLoadException: Could not load type 'System.Runtime.Loader.AssemblyLoadContext' from assembly 'System.Runtime.Loader, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
   at Reqnroll.Plugins.DotNetCorePluginAssemblyResolver.Initialize(String path)
   at Reqnroll.Plugins.AssemblyResolverBase.<>c__DisplayClass4_0.<.ctor>b__0()
   at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
   at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
   at System.Lazy`1.CreateValue()
   at Reqnroll.Plugins.AssemblyResolverBase.GetAssembly()
   at Reqnroll.Plugins.DotNetCorePluginAssemblyResolver.Load(String path)
   at Reqnroll.Plugins.DotNetCorePluginAssemblyLoader.LoadAssembly(String assemblyPath)
   at Reqnroll.Plugins.RuntimePluginLoader.LoadPlugin(String pluginAssemblyPath, ITraceListener traceListener, Boolean traceMissingPluginAttribute)
   --- End of inner exception stack trace ---
   at Reqnroll.Plugins.RuntimePluginLoader.LoadPlugin(String pluginAssemblyPath, ITraceListener traceListener, Boolean traceMissingPluginAttribute)
   at Reqnroll.Infrastructure.ContainerBuilder.LoadPlugin(String pluginPath, IRuntimePluginLoader pluginLoader, RuntimePluginEvents runtimePluginEvents, UnitTestProviderConfiguration unitTestProviderConfigration, ITraceListener traceListener, Boolean traceMissingPluginAttribute)
   at Reqnroll.Infrastructure.ContainerBuilder.LoadPlugins(IRuntimeConfigurationProvider configurationProvider, ObjectContainer container, RuntimePluginEvents runtimePluginEvents, ReqnrollConfiguration reqnrollConfiguration, UnitTestProviderConfiguration unitTestProviderConfigration, Assembly testAssembly)
   at Reqnroll.Infrastructure.ContainerBuilder.CreateGlobalContainer(Assembly testAssembly, IRuntimeConfigurationProvider configurationProvider)
   at Reqnroll.Bindings.Provider.BindingProviderService.CreateGlobalContainer(Assembly testAssembly, String jsonConfiguration)
   at Reqnroll.Bindings.Provider.BindingProviderService.DiscoverBindings(Assembly testAssembly, String jsonConfiguration)
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
   --- End of inner exception stack trace ---
   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
   at System.Reflection.MethodBaseInvoker.InvokeWithFewArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at ReqnrollConnector.Utils.ReflectionExtensions.ReflectionCallStaticMethod[T](Type type, String methodName, Type[] parameterTypes, Object[] args) in D:\a\Reqnroll.VisualStudio\Reqnroll.VisualStudio\Connectors\Reqnroll.VisualStudio.ReqnrollConnector.Generic\Utils\ReflectionExtensions.cs:line 14
   at ReqnrollConnector.Discovery.DefaultBindingProvider.GetBindingsJson(TestAssemblyLoadContext testAssemblyContext, Assembly testAssembly, String configFileContent) in D:\a\Reqnroll.VisualStudio\Reqnroll.VisualStudio\Connectors\Reqnroll.VisualStudio.ReqnrollConnector.Generic\Discovery\DefaultBindingProvider.cs:line 28
   at ReqnrollConnector.Discovery.DefaultBindingProvider.DiscoverBindings(TestAssemblyLoadContext testAssemblyContext, Assembly testAssembly, String configFileContent, ILogger log) in D:\a\Reqnroll.VisualStudio\Reqnroll.VisualStudio\Connectors\Reqnroll.VisualStudio.ReqnrollConnector.Generic\Discovery\DefaultBindingProvider.cs:line 17
   at ReqnrollConnector.Discovery.DiscoveryExecutor.Execute(DiscoveryOptions options, Func`3 testAssemblyFactory, ILogger log, IAnalyticsContainer analytics) in D:\a\Reqnroll.VisualStudio\Reqnroll.VisualStudio\Connectors\Reqnroll.VisualStudio.ReqnrollConnector.Generic\Discovery\DiscoveryExecutor.cs:line 51
Warning: AndDiscoveryProviderSucceed: The project bindings (e.g. step definitions) could not be discovered. Navigation, step completion and other features are disabled. 
  Please check the error message above and report to https://github.com/reqnroll/Reqnroll.VisualStudio/issues if you cannot fix.

This is with Reqnroll Extension 2026.1.477, reqnroll 3.3.3 and both VS2022 and VS2026 with the March 2026 update.

Note that our tests are targeting .NET Framework 4.8 and were originally migrated from SpecFlow 2.9.x in case that makes any difference.

Steps to Reproduce

  1. Open linked project
  2. Build
  3. Open the feature file

Link to a project repository that reproduces the issue

https://github.com/jameswtelfer/reqnroll-vs-issue-repro

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions