DllNotFoundException

Hey folks,

I am having trouble with loading mac framework to unity. InApplications/Unity.app/Contents/MonoBleedingEdge/etc/mono/config I have added

    <dllmap dll="libpcsclite.so.1" os="osx" target="/System/Library/Frameworks/PCSC.framework/PCSC" />
    <dllmap dll="libdl.so.2" os="osx" target="libSystem.B.Dylib" />

but when I run

 [DllImport("libpcsclite.so.1")]
        private static extern IntPtr SCardConnect(
            [In] IntPtr hContext,
            [In] byte[] szReader,
            [In] IntPtr dwShareMode,
            [In] IntPtr dwPreferredProtocols,
            [Out] out IntPtr phCard,
            [Out] out IntPtr pdwActiveProtocol);

I am getting DllNotFoundException: PCSC
Here is log from editor

Fallback handler could not load library /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/libPCSC
Fallback handler could not load library /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/libPCSC.dylib
Fallback handler could not load library /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/libPCSC.so
Fallback handler could not load library /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/libPCSC.bundle
Fallback handler could not load library /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/PCSC
Fallback handler could not load library /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/libPCSC
Fallback handler could not load library /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/libPCSC.dylib
Fallback handler could not load library /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/libPCSC.so
Fallback handler could not load library /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/libPCSC.bundle
Fallback handler could not load library /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/libPCSC
Fallback handler could not load library /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/libPCSC
Fallback handler could not load library /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/libPCSC.dylib
Fallback handler could not load library /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/libPCSC.so
Fallback handler could not load library /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/libPCSC.bundle
Fallback handler could not load library /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/PCSC
Fallback handler could not load library /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/libPCSC
Fallback handler could not load library /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/libPCSC.dylib
Fallback handler could not load library /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/libPCSC.so
Fallback handler could not load library /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/libPCSC.bundle
Fallback handler could not load library /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/libPCSC
DllNotFoundException: PCSC
  at (wrapper managed-to-native) PCSC.Interop.Unix.PCSCliteAPI:SCardEstablishContext (intptr,intptr,intptr,intptr&)
  at PCSC.Interop.Unix.PCSCliteAPI.EstablishContext (PCSC.SCardScope dwScope, System.IntPtr pvReserved1, System.IntPtr pvReserved2, System.IntPtr& phContext)

Seems like unity is unable to load the framework. It works in Xamarin, but can’t get it to work in Unity. I am using 2017.2b10 with mono 4.6 backend. Any pointers what I do wrong?

It doesn’t look like it’s respecting the path you have set there in the mono config file. Looking at the mono docs on pinvoke here under “Mac OS X Framework and .dylib Search Path” they mention the paths that loading will look in, but don’t specifically mention that you can put a path in there. So maybe try without the path?

-sam