I have mono 4.6.2 on Mac OS Sierra. When I try to make bundle like this
mkbundle -o Test Test.exe
I have error
Couldn't load one or more of the i18n assemblies.
My PATH:
$ printenv PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Frameworks/Mono.framework/bin:/Library/Frameworks/Mono.framework/Versions/Current/lib/
mkbundle in Mono 4.8.0 (as of Build 483) does not seem to include the SDK directory in its assembly search path by default, so it fails to find the i18n assemblies as those are the first that it tries to add to the bundle.
Simply specify the sdk directory on the command line to work around this problem
--sdk /Library/Frameworks/Mono.framework/Versions/Current
Note that I only see this problem on mono 4.8, not on 4.6.2, but the same fix may be applicable. If there is no --sdk option in 4.6.2 then you could try adding the path using -L instead
-L /Library/Frameworks/Mono.framework/Versions/Current/lib/mono/4.5
In some other places I have found suggestions to use --cross default
to fix this issue with 4.8.0, but that seems to generate a binary that cannot be signed using codesign, whereas the use of the -L
option does not have this problem. Using --sdk
seems to produce an un-signable executable just like --cross-default
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With