I am building a Monotouch (trial) 4.0.3. project. It compiles with the warning:
Warning: Library 'loader.dll' missing in app bundle, cannot extract content
All of the other dlls are successfully bundled during build, and this one was working before. After compiling with the warning, it crashes on load at runtime (on the simulator) with a segmentation fault when it fails to load the assembly.
I have searched for this warning and I haven't been able to find any references to it. Does anyone know why the assembly is not being added to the app package?
mhutch is correct, the linker is opportunistically pruning out the library. However, the default linker setting is not to link anything, so his solution will only work in the rare case that you're linking all assemblies (which you don't want to do with MonoTouch because references to the SDK should never be embedded).
The workaround is to just new up an instance of something in the library you want to use, from inside the calling assembly.
As an aside, I don't know what iOS developers do, since this behavior would make run-time access to satellite libraries impossible.
It sounds like the linker is removing the loader.dll because it thinks nothing uses it. Try setting the project's linker setting to "link sdk only".