Следует ли использовать MSBuild/.NET только при разработке, тестировании и отладке приложений Mono под Windows
Следует ли при разработке, тестировании и отладке приложений Mono под Windows следует использовать только MSBuild/.NET (и моно-профиль, как описано здесь), или мне (также) следует использовать XBuild/Mono?
Причина, по которой я спросил, состоит в том, что я много копался о настройках разработки для Mono в среде Windows, и разработка и отладка с помощью MSBuild / .Net, кажется, предпочтительны (см. Здесь, например).
Вы просто создаете приложения в Visual Studio и запускаете их в Mono, а не в.NET. Двоичные файлы должны быть совместимы... но вам необходимо убедиться, что вы не используете библиотеки, которые недоступны в Mono - см. Рекомендации по совместимости приложений Mono.
Интересно, так ли это на самом деле? Поскольку XBuild и Mono также работают под окнами, не лучше ли (или также) собрать и отладить их с установкой Mono. Отладка скомпилированных сборок XBuild с помощью Visual Studio также возможна, так что это не является причиной для этого. Я предполагаю, что могут быть ошибки, которые не будут отображаться на этапе разработки при использовании только MSBuild /.NET. Разве не плохо, когда эти ошибки появляются позже на этапе развертывания и тестирования на других ОС, таких как Linux? Или различия между MSBuild / XBuild ничем не примечательны, и мне не стоит об этом беспокоиться?
1 ответ
Я бы порекомендовал оба. В прошлом я настраивал Team City для построения своих решений, используя msbuild для агента Windows и xbuild для агента Linux/OSX. Таким образом, я мог быть уверен, что это всегда работает на обоих. Я уверен, что вы могли бы найти способ вызвать сбой xbuild, а msbuild - нет, но вы, вероятно, не будете знать, что это такое, пока не вызовете их. Распределенный CI может быть очень удобен для кроссплатформенной работы.