Skip to main content

Updating to SpecFlow 3.9 from 3.0

Answered

Comments

13 comments

  • Andreas Willich

    Which .NET Framework version are you using?

    0
  • Patrick Phiri

    .NET4.6

    0
  • Andreas Willich

    Since SpecFlow 3.3 the minimum .NET Framework version we are supporting is .NET 4.6.1. So you need to upgrade your project.

    0
  • Patrick Phiri

    That explains a lot. Thanks.

    0
  • Patrick Phiri

    Correction Andreas, I'm actually on .NET4.6.2 framework. Any other insights to failing update?

    0
  • Andreas Willich

    Then something with your package upgrade didn't work. 

    You are missing the references to the assemblies. Try to remove the packages and add them again. Normally this fixes the error that VS caused.

    0
  • Patrick Phiri

    Hi Andreas,

    I have an update to my upgrade issue, one thing that was causing error in update was one project I had named SpecFlow, so I renamed the project and was able to upgrade to version 3.9. Now since upgrade, my binding is not working and TeckTalk.SpecFlow has yellow triangle in project references. I have followed most advice on getting reference to re-connect and nothing seems to work. I have run out of ideas to fix issues and so far its only the SpecFlow reference that seems to not get fixed:

    0
  • Andreas Willich

    The yellow triangle is an indicator that Visual Studio can't find the file.

    As you are on .NET Framework and you are using packages.config, you would need to open the SeleniumProject.csproj, look for the Reference Item for "TechTalk.SpecFlow.dll" and check the path.

    Here is an example: https://github.com/SpecFlowOSS/SpecFlow-Examples/blob/master/MSBuild/OldCSProj_SpecFlow31/OldCSProj_SpecFlow31/OldCSProj_SpecFlow31.csproj#L67

    Check if the file exists. If not, you need to adjust the path to the path were it is really.

    0
  • Patrick Phiri

    Thanks Andreas, that has been resolved. Version path was incorrect.

    Now have an additional issue;

    This section is being automatically generated and is causing errors:

    I have gone through project file and can't figure out why. Each time I remove the section its automatically placed back in file and I don't know which line is causing its creation. I have gone through forum to check previous discussions and no solution has worked for me. Any guidance greatly appreciated.

    0
  • Andreas Willich

    You are using the classic project system. This generates the entries always again.

    But it should still work. Are there some entries twice in the csproj?

    0
  • Patrick Phiri

    When I search file, the double entries are in this <None Include> section. Above it, there is an <Include> section for all steps and features.cs, so not sure why the feature files are being marked as duplicate. I have updated to SpecFlow 3.9.74 and Visual Studio 2022, not sure how much of an impact the combination is.

    0
  • Patrick Phiri

    Hi Andreas,

    I have an update and follow question. Sorry if this post is no longer making sense, I can open a new thread if that helps.

    So the issue I had above, multiple-entries error I have discovered happens when I add SpecFlow,NUnit. Previously I only had NUnit and another plugin; Noksa.NUnit which handles Allure for me. Removing SpecFlow.Unit clears that error and so far does not seem to affect anything else I think.

    But for whatever reason I can't get the reference for SpecFlow to be discovered. That is my main problem now:

    I have another project above this one that's using the same 3.9.74 version and reference is found with no issues. I have gone through project file and can't see what's causing this issue. The path is correct, I have double checked with \Users\.nuget\packages folder, the reference is being added correctly.

    0
  • Patrick Phiri

    Here is what I have for project file:

    0

Please sign in to leave a comment.

Powered by Zendesk