Interesting - I assumed it just worked - long ago I 'wrapped' a commercial PGP library supplied as dlls, in a single 'shim' to offer 'aggregate functionality' to C#, made sure the required dll's were all 'with' the exe ie in the same path folder, and it just worked.
There is a discussion on the general case here c# - How can I specify a [DllImport] path at runtime? - Stack Overflow
] and the reference from that Dynamic-Link Library Search Order - Win32 apps | Microsoft Docs
] ... there are some useful things to try, for example, manually doing a LoadLibrary of the dependant dll before you call the 'top level' one, 'maybe' using SetDllDirectory
Unfortunately I can't easily test anything for you at the moment
 I'd manually place all the dependant dll's in the output directory first and test like that .. when that's working, then work on the build 'copy' sequence .. btw, your project file has '/.../example.dylib' so I'd double check if it's working a) the '...' b) the dylib, or is that a folder name ? [/edit]