I identified a strange behaviour of Visual Studio.
I have an App that has the same NuGet package (but different versions) in its dependency graph.
The graph looks like this:
The "cousing dependency" rule states that version 1.9.0 should be restored, as its the lowest applicable version in my graph.
If I load the solution of "MyApp" in Visual Studio, the NuGet package "PnP.Core version 1.7.0" is used.
I know this, because when right-clicking a function and saying "go to definition", the version 1.7.0.0 of the assembly is decompiled and shown:
Also the IDE shows me errors, when I try to call a function that exists only in 1.9.0.
However, if I run the application and check the loaded DLL file assembly version with ILSpy, I see that the correct assembly (1.9.0.0) is loaded.
How can it be, that Visual studio restores a different NuGet version in stopped mode than in debugging (or building)?