Как проверить версию Mono во время COMPILE с помощью xbuild, а не Runtime
Я знаю, как проверить во время выполнения, но это не помогает моей текущей проблеме. У меня есть проблема, когда определенная версия mono (Mono < 4.8.0) не имеет поддержки TLS 1.1 или 1.2 и даже не будет компилироваться, не говоря уже о запуске. Поэтому мне нужно добавить #if, чтобы определить, какая версия mono используется для компиляции, но я не могу найти ничего, что могло бы сделать это. # если МОНО недостаточно. Другой полезной таблицей будет список всех предопределенных переменных mono, доступных для компилятора. Я уверен, что версия, вероятно, была бы одним из тех пунктов.
Кстати, все пользователи этого проекта будут сами компилировать приложение, поэтому нет необходимости выполнять проверку во время выполнения. Если их моно не поддерживает TLS 1.1/1.2, то оно все равно должно собираться на их машине, их конкретный двоичный файл просто не будет иметь 1.1 / 1.2, что вполне нормально, так как только они все равно будут его запускать.
1 ответ
Вы можете экспортировать env var. и использовать его для установки директивы компилятора:
Пример:
export MONO_VERSION=`mono --version | grep version | cut -d " " -f 5`
echo $MONO_VERSION
5.10.0.179