Skip to content

Upgrading to 3.3.0 causes build error with SpecFlowCompatibility (NuGet package Reqnroll.SpecFlowCompatibility issue) #970

@kamranayub

Description

@kamranayub

Reqnroll Version

3.3.0

Which test runner are you using?

NUnit

Test Runner Version Number

4.4

.NET Implementation

.NET 10.0

Test Execution Method

Visual Studio Test Explorer

Content of reqnroll.json configuration file

{
"bindingCulture":
{
"language" :"en-us"
},
"language":
{
"feature": "en-us"
}
}

Issue Description

I just upgraded to 3.3.0 and then I started to get this build error:

[Reqnroll] System.IO.FileNotFoundException: Could not load file or assembly 'file:///C:\Users\subka\.nuget\packages\reqnroll.specflowcompatibility\3.3.0\build\net462\Reqnroll.SpecFlowCompatibility.Generator.ReqnrollPlugin.dll' or one of its dependencies. The system cannot find the file specified.
File name: 'file:///C:\Users\subka\.nuget\packages\reqnroll.specflowcompatibility\3.3.0\build\net462\Reqnroll.SpecFlowCompatibility.Generator.ReqnrollPlugin.dll'
   at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
   at System.Reflection.Assembly.LoadFrom(String assemblyFile)
   at Reqnroll.Plugins.DotNetFrameworkPluginAssemblyResolver.LoadAssemblyFromPath(String assemblyPath)
   at Reqnroll.Plugins.DotNetFrameworkPluginAssemblyResolver.Initialize(String path)
   at System.Lazy`1.CreateValue()
   at System.Lazy`1.LazyInitValue()
   at Reqnroll.Plugins.DotNetFrameworkPluginAssemblyLoader.LoadAssembly(String assemblyPath)
   at Reqnroll.Generator.Plugins.GeneratorPluginLoader.LoadPlugin(PluginDescriptor pluginDescriptor)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

When I look at the .nuget folder, sure enough, it is missing the folders inside of build and I only see:

Image

In the 3.2.1 package, I see build files:

Image

Is the package missing some build generator files? The lib directory has the plugin DLLs (but this must be for the generator).

Steps to Reproduce

  1. Add Reqnroll (3.3.0) package
  2. Add SpecFlowCompatibility (3.3.0) package

Link to Repro Project

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpackageNuGet package issue / feature

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions