The best and recommended way is to use this:
[DllImport("@executable_path/../Frameworks/EDSDK.framework/EDSDK")]
The framework files should be in the Frameworks folder and with the DllImport attribute you use standard C# and not some Mono xml-config.
ok I found the problem. There are three ways:
1. framework in the computers /Library/Frameworks/ folder:
Works for libraries as well as apps.
The config file has to look like this:
<configuration>
<dllmap dll="MacLib" target="Lib.framework/Lib" />
</configuration>
2. framework within the app:
Works only for an app.
The config file has to look like this:
<configuration>
<dllmap dll="MacLib" target="@executable_path/../Frameworks/Lib.framework/Lib" />
</configuration>
Then you have to put the framework into the *.app. If not there already, create a folder called "Frameworks" in the "Contents" folder and put the .framwork in it.
3. framwork beside the app (or in subfolder beside app):
Works for libraries as well as apps.
The config file has to look like this:
<configuration>
<dllmap dll="MacLib" target="@executable_path/../../../Lib.framework/Lib" />
</configuration>
If the framework is in a subfolder beside the library/app, change the path accordingly.
e.g. @executable_path/../../../Subfolder/Lib.framework/Lib
Maybe that helps someone else too.
Kind regards
Johannes