Ага, вообще инфа очень разрозненная. Буквально по крупицам собирается, и нужно более-менее в линуксе разбираться, чтобы завести всё. Буду писать статью )
надеюсь ) хочется, чтобы больше проектов делалось под моно. тогда будет больше тестеров у платформы, и, соответственно, будет повышаться качество. сейчас мне вот например удалось свалить mcs :) у проблемы, конечно, есть workaround, но пару седых волос мне это стоило ) представьте, вы говорите клиенту, что будет работать под ubuntu, а оно НЕ компилируется с крэшем компилятора :-D
спасибо за интерес, но статья все-таки больше для веб-девелоперов будет. с кроссплатформенными оконными приложениями я не работал, и не планирую ) но вы подпишитесь на monodevelop-list, там много полезной инфы обсуждается.
у меня фокус больше на инфрастуктурных задачах будет, просто пережую и выдам инфу, которая в инете довольно разрозненно лежит, ну и требует каких-никаких познаний в линуксе. как правило, дотнетчики линукса не знают, поэтому надеюсь, что статья будет в тему )
Чото долго компилился :) Да, я тоже пошел по пути сборки 2.8.1, потому что 2.4 имел тенденцию просто подвисать, требуя рестарта апача. Сборка MD более нетривиальна, требует кучи зависимостей.
Статью напишу, но не так быстро, как тебе понадобится :)
По поводу заморочек:
1) Я пришел к тому, что у меня в проектах есть папка lib, и есть lib.mono, где лежат dependencies.
2) Некоторые проекты имеет разные сборки под винду и под линукс, например npgsql — библиотека для работы с postgresql. Соответственно для винды и линукса разные csproj, в линуксовых дефайнится MONO, и в коде в некоторых местах есть #if/#endif.
3) Перевод строки лучше юзать через Environment.NewLine :) Для тех мест, где нужно работать с файлами, тоже используется #if/#endif
4) Сначала я думал выносить платформенно-зависимые настройки в конфиг, но потом решил, что лучше тоже разруливать в compile-time. Это больше похоже на linux-way, но, как показала практика, этот подход себя оправдывает, потому что когда деплоишь в окружение, которое отличается от development (что ни говори, VS для дотнета — самое то), то лучше убедиться, что траблов там не будет)))
5) Ну и напоследок, насчет apache/nginx. Я много перерыл инфы (гуглится довольно просто по запросу «mono nginx fastcgi»), и там пишут, что есть баг, который приводит к 100% загрузке процессора, когда используется mono-fastcgi. Поэтому я сделал так — nginx для статики и как фронтэнд для апача, который использует xsp через mod_mono, классическая схема, вобщем )
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.