mono-shlib-cop(1) General Commands Manual mono-shlib-cop(1) (NAME) mono-shlib-cop - (SYNOPSIS) mono-shlib-cop [OPTIONS]* [ASSEMBLY-FILE-NAME]* (OPTIONS) -p, --prefixes=PREFIX Mono. $prefix/etc/mono/config . mscorlib.dll . (DESCRIPTION) mono-shlib-cop . . : * * : * ( Mac OS X Windows.) libc.so.6 libc.so System.DllNotFoundException . : 1. -devel . . 2. DllImport . . 3. assembly.config . Mono libc.so libX11.so . (EXAMPLES) : using System.Runtime.InteropServices; // for DllImport class Demo { [DllImport ("bad-library-name")] private static extern void BadLibraryName (); [DllImport ("libc.so")] private static extern void BadSymbolName (); [DllImport ("libcap.so")] private static extern int cap_clear (IntPtr cap_p); } bad-library-name Demo.BadLibraryName . (BUGS) . Demo.BadSymbolName libc.so ( $prefix/etc/mono/config libc.so.6 ) BadSymbolName . libcap.so Demo.cap_clear libcap.so libcap.so ( FC2 /lib/libcap.so libcap-devel -devel ). (FIXING CODE) : DllImport . . ( (BUGS) ). DLLMAP (DLLMAP ENTRIES) ASSEMBLY-NAME Dll . mcs.exe mcs.exe.config Mono.Posix.dll Mono.Posix.dll.config . .config XML dll target . dll DllImport target . .config : (BUGS) * DllImport IL . . : using System.Runtime.InteropServices; // for DllImport class Beep { [DllImport ("kernel32.dll")] private static extern int Beep (int dwFreq, int dwDuration); [DllImport ("libcurses.so")] private static extern int beep (); public static void Beep () { if (System.IO.Path.DirectorySeparatorChar == '\\') { Beep (750, 300); } else { beep (); } } } mono-shlib-cop kernel32.dll kernel32.dll . * mono-shlib-cop . .so .so -devel ( /usr/lib/libtcl8.4.so /usr/lib/libubsec.so ). . Windows Mac OS X . (MAILING LISTS) http://lists.ximian.com/mailman/listinfo/mono-devel-list . (WEB SITE) http://www.mono- project.com . mono-shlib-cop(1)