Можно ли полностью ссылаться на монобиблиотеки из MS.NET?
А как насчет обратного?
Если «вроде», то какие и каковы ограничения?
Можно ли полностью ссылаться на монобиблиотеки из MS.NET?
А как насчет обратного?
Если «вроде», то какие и каковы ограничения?
Да, компилятор Mono генерирует двоичные файлы, совместимые с .NET framework и наоборот.
Единственное ограничение AFAIK - это управляемый C ++:
(Подробнее об управляемом C ++ см. В этом другом вопросе о переполнении стека. )
Формат файла идентичен (для полностью управляемых библиотек см. Ответ от knocte), поэтому теоретически библиотеки Mono полностью доступны для ссылок из .NET (и наоборот).
На практике это зависит от содержимого библиотек. Если вы пишете код только для Linux в библиотеке, он, конечно, не будет работать в .NET. Это также единственная потенциальная проблема: если вы пишете независимый от платформы код, вы можете использовать либо компилятор Mono mcs, либо компилятор Microsoft csc и без проблем использовать полученную библиотеку на любой платформе.