Let's say my solution has 2 projects:
The first project (MainProject) has a NuGet dependency called "dependencyX". Obviously, the project "MainProjectTests" has a reference to "MainProject".
So when the test runner runs a test of "MainProjectTests" that calls methods from "MainProject" using "dependencyX" I'm getting a System.IO.FileNotFoundException
exception:
System.IO.FileNotFoundException : Could not load file or assembly 'dependencyX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
Why am I getting this exception? When I add "dependencyX" to "MainProjectTests" all works fine, but it seems to me not a good practice... How to solve it?
I'm using Visual Studio for Mac Community 7.2 preview (7.2 build 583)
Thanks for the help.
EDIT:
Tried putting the options:
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
in the NUnit project, but getting the same result.
This seems to be a known bug regarding .NET Standard libraries (and maybe especially in conjunction with NUnit). I already filed a bug report here which seems to confirm that this is not the intended behaviour. Altough there has been no progress for over half a year.
Maybe one should file a bug in the NUnit repo after confirming this only happens when using NUnit.
For the time beeing you'll need to reference all libraries used in a .NET Standard project also in all projects referencing the .net standard one as you are doing right now.