I had the problem on Windows 7 with
Could not load file or assembly 'TaleWorlds.MountAndBlade.ViewModelCollection, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
error in logs. Bannerlord.exe would do nothing, Bannerlord.native.exe would show cursor and a screen for a few seconds then crash with no error presented.
Solution that worked for me: From the main bannerlord directory, zip the
bin
directory, right click the zip, properties, and choose 'unblock' if it's present (if its not there just proceed), then extract the zip in place and overwrite the files (i used winrar for this). then do the same for
Code:
Modules\CustomBattle\bin
Modules\Native\bin
Modules\Sandbox\bin
Modules\StoryMode\bin
What I mean by zipping/unzipping:
https://i.imgur.com/oJyWheT.mp4
The problem is that for some reason the drive I have it installed on, .NET thinks it's a remote / untrusted source so none of the assemblies load due to security policy. These assemblies need to be unblocked before they will be loaded, you can right click an individual dll and choose unblock. Zipping and unzipping, as described above, removes the block on multiple files easily.
Devs could possibly fix this by changing
Assembly.LoadFrom
to
Assembly.UnsafeLoadFrom
in the submodule loader and the library Starter. Also devs if you're reading... this was annoying to debug because you have a Console.ReadKey in your exception handler which itself throws an exception (due to redirected stdio) so the original useful error message about loading remote sources gets lost and never logged.