Whenever I try running an Unit Test no matter if it was already part of the solution or if I create my own I get this exception when the test includes something with mocking SLProtocol.
Test method Skyline.Protocol.TrapProcessing.Tests.TrapProcessorTests.IsTrapIdImplementedTest threw exception:
System.IO.FileNotFoundException: Could not load file or assembly 'SLManagedScripting, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
at Skyline.Protocol.TrapProcessing.Tests.TrapProcessorTests.IsTrapIdImplementedTest()
The SLManagedScripting dll is part of the solution I've checked, also I've tried pointing to another version which another developer sent me which works for them. This is happening with drivers as soon as I clone them straight from git, if it contains unit test with SLProtocol the test fails.
Some protocols with Unit Test which I ran but got the exception.
Miranda IControl General
Telestream Inspect 2110
After looking online I saw something about changing to X64 or X86 which doing so didn't work and I wasn't able to find anything else.
I' using VS 2017
This is how the solution looks, also there are no errors in the code.
Hi Geovanny,
Could it be that the Default Processor Architecture has been set to X64? (If this is set to X64, it generates the BadImageFormatException you mention.) In Visual Studio 2017, from the menu bar, this can be configured under Test > Test Settings > Default Processor Architecture. If this is set to X64, change it to X86.
The issue was solved by forcing the target to use x86 instead of Any CPU for the Unit Test Project.
Thanks to Pedro, to do so Right click the unit test project Properties > Build > “Platform target:” set x86
The unit test are now running successfully.