Совместное использование исходного кода между Mono и Visual Studio - PullRequest
3 голосов
/ 08 апреля 2011

Я хочу перенести серверный компонент нашего приложения, написанный на Visual Studio 2008 (.NET 3.5 C #), на Linux и подумал, что буду использовать Mono, чтобы сохранить единую кодовую базу.

Теоретически, мы будем обновлять только код VS, однако вполне возможно, что между ними могут быть небольшие, тонкие различия, чтобы сохранить их работоспособность платформы.

Существуют ли какие-либо советы / учебные пособия / приложения, которые помогут держать их под контролем?

1 Ответ

3 голосов
/ 08 апреля 2011

У вас есть много кода, который не совместим с Mono?В идеале вы хотели бы, чтобы большая часть кода оставалась неизменной, и у вас было бы очень мало случаев, когда вам нужно переключаться между Mono и MS.NET.

Если вам нужен совершенно другой код для Mono против MS.NETВы должны использовать отдельную реализацию общего интерфейса.Например, в нашем приложении мы используем служебную шину, которую можно поменять местами между MSMQ или ActiveMQ.Мы используем ActiveMQ в дистрибутивах Mono и MSMQ в дистрибутивах MS.NET.

Вы сказали, что вам нужно «перенести» ваше приложение на Mono - есть много несовместимого кода.Если вы широко используете P / Invoke или другие функции Windows, это будет немного сложнее.

Мы не поддерживаем версию Mono и версию MS.Net, у нас есть единое дерево кодаэто может быть скомпилировано в любом.Для платформенных программ, которые имеют пользовательский интерфейс, мы используем отдельный проект пользовательского интерфейса для каждой платформы (обычно WPF для Windows и GTK для Linux / Mac - хотя мы начинаем рассматривать MonoMac для Mac).Кроме того, весь наш код является общим.Между платформами нечего обслуживать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...