Observing curious behaviors with IStartup classes in recent previews. Was trying to patch a small repro case when I encountered the following situation just using the help patch and vvvvanilla vvvv : the AddJson node throws an exception for just one frame that’s not logged to the Log tab, but only in the AppHealth.
This exception says the following :
Could not load file or assembly ‘Microsoft.Extensions.FileProviders.Abstractions, Version=8.0.0.0
Repro steps :
Fresh install of 7.0-12
Open the Use Configuration help patch
Delete everything related to ConfigBinding in the bottom : this throws an exception every frame
Press F9 : the help patch does not work. According to the JSON file used as an example, Settings:KeyTwo should be true, the Settings:IPAddressRange:0 should say 46.36.198.121, etc. Instead, we have false and "".
13:56:05 Critical
MyStartup C:\Program Files\vvvv\vvvv_gamma_7.0-0012-gd100e9c4a4-win-x64\packs\VL.CoreLib\help\System\Logging\HowTo Use Configuration.vl
FileLoadException
Could not load file or assembly ‘Microsoft.Extensions.FileProviders.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60’. Could not find or load a specific file. (0x80131621)
Just did that with also a fresh nuget folder, installed “exact referenced version” (latest version / 9.0 causes emit exception) and help patch works as expected.
Guess I installed the package once using just nuget install Microsot.Extensions.Configuration.Json, which installed 9.0.0 which failed, so I manually installed -version 8.0.0 because I thought that’d work. Apparently I should have specified 7.0.0 instead.
So I tried the following :
Renamed my nuget folder to _bak to start clean
Opened 7.0-12
Opened the help patch
Installed the missing dependency using Exact Referenced Version
Getting the exact same behavior, but this time the exception complains about 7.0.0
15:37:37 Critical
MyStartup C:\Program Files\vvvv\vvvv_gamma_7.0-0012-gd100e9c4a4-win-x64\packs\VL.CoreLib\help\System\Logging\HowTo Use Configuration.vl
FileLoadException
Could not load file or assembly ‘Microsoft.Extensions.FileProviders.Abstractions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=adb9793
829ddae60’. Could not find or load a specific file. (0x80131621)
Seems vvvv already references an even older version. But I still don’t understand why we have a different behavior on our machines. What happens if you install version 6.0 of that package?
Ok, after some more testing it seems that 7.x can only deal with version 6.0.0 of that package, while 6.6 was able to load also 7.0.0 and 8.0.0. The latest 9.0.0 causes emit exceptions in both versions. The culprit must be an internal dependency by vvvv itself on one of those packages which changed between 6.6 and 7.x. Let’s see if we can bring that internal dependency to at least version 8.0.0 - we run on .net8 after all.
But all in all another vote for better package management.