Работающий, работоспособный и стабильный. Он хорошо протестирован, так как довольно много собственных низкоуровневых функций mono должно быть передано через него в основную операционную систему.
Существует несколько расширений P / Invoke по сравнению с реализацией Microsoft .Net (в конце концов, они имеют дело с одним семейством ОС и максимум тремя архитектурами). Наиболее заметным из них будет то, что отображения библиотек преобразуют имя библиотеки в специфичные для ОС варианты (например, mylib.dll
ищет mylib.so
в Linux, mylib.dylib
в OS X и т. Д.) И учитывает различные другие системные соглашения , Существует также расширение конфигурации DLLMap , которое можно использовать, если недостаточно перевода имен по умолчанию. Обычно удобно иметь один и тот же API двоичной библиотеки в разных ОС, так что для миграции между платформами требуются только изменения в коде C, а не в .Net.