There are many similar posts on SO on this error, unfortunately none of them helps.
I've upgraded solution projects to .NET 4.8 and afterwards issued a command to retarget nuget packages:
update-package -reinstall -ignoreDependencies
After this, unit tests fail with an error:
Message: System.IO.FileNotFoundException : Could not load file or assembly 'System.Runtime.InteropServices.RuntimeInformation, Version=220.127.116.11, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. ---- System.IO.FileNotFoundException : Could not load file or assembly 'System.Runtime.InteropServices.RuntimeInformation, Version=18.104.22.168, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified
Fusion logs output follows:
*** Assembly Binder Log Entry (7/24/2019 @ 2:20:44 PM) *** The operation failed. Bind result: hr = 0x80070002. The system cannot find the file specified. Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll Running under executable C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\PROFESSIONAL\COMMON7\IDE\EXTENSIONS\TESTPLATFORM\testhost.x86.exe --- A detailed error log follows. === Pre-bind state information === LOG: DisplayName = System.Runtime.InteropServices.RuntimeInformation, Version=22.214.171.124, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a (Fully-specified) LOG: Appbase = file:///C:/sources/Services/upgrade-net48/ProSynchronizationWorker.Tests/bin/Debug LOG: Initial PrivatePath = NULL LOG: Dynamic Base = NULL LOG: Cache Base = C:\Users\mike\AppData\Local\Temp\d21152b7-1ec9-47aa-88ab-181259a56531 LOG: AppName = d21152b7-1ec9-47aa-88ab-181259a56531 Calling assembly : MongoDB.Driver.Core, Version=126.96.36.199, Culture=neutral, PublicKeyToken=null. === LOG: This bind starts in default load context. LOG: Using application configuration file: C:\sources\Services\upgrade-net48\ProSynchronizationWorker.Tests\bin\Debug\ProSynchronizationWorker.Tests.dll.config LOG: Using host configuration file: LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config. LOG: Redirect found in application configuration file: 188.8.131.52 redirected to 184.108.40.206. LOG: Post-policy reference: System.Runtime.InteropServices.RuntimeInformation, Version=220.127.116.11, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a LOG: GAC Lookup was unsuccessful. LOG: Attempting download of new URL file:///C:/sources/Services/upgrade-net48/ProSynchronizationWorker.Tests/bin/Debug/System.Runtime.InteropServices.RuntimeInformation.DLL. LOG: Attempting download of new URL file:///C:/sources/Services/upgrade-net48/ProSynchronizationWorker.Tests/bin/Debug/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices.RuntimeInformation.DLL. LOG: Attempting download of new URL file:///C:/sources/Services/upgrade-net48/ProSynchronizationWorker.Tests/bin/Debug/System.Runtime.InteropServices.RuntimeInformation.EXE. LOG: Attempting download of new URL file:///C:/sources/Services/upgrade-net48/ProSynchronizationWorker.Tests/bin/Debug/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices.RuntimeInformation.EXE. LOG: All probing URLs attempted and failed.
I tried few things suggested
Judging from the Fusion logs, it looks into GAC but doesn't find the assembly (which I can confirm v. 18.104.22.168 is in GAC_MSIL).
How can I get rid of this error ?
I have similar project setup and was facing a similar Issue (Unit Tests were failing with similar error) as mentioned above. The NuGet Packages structure has been changed for System.Runtime.InteropServies.RuntimeInformation v4.3.0. I didn't upgrade this NuGet package in my project but upgraded all other packages part of the project. All of my Unit Tests were passing successfully after this.
I don't recommend doing this but this approach is helpful if there are time constraints.
User contributions licensed under CC BY-SA 3.0