如何使用xbuild在COMPILE时检查Mono版本,而不是运行时

时间:2018-04-10 00:29:53

标签: mono xbuild

我知道如何在运行时检查,但这对我当前的问题没有好处。我有一个问题,某个版本的单声道(Mono< 4.8.0)没有TLS 1.1和1.2支持,甚至不编译,更不用说运行了。所以我需要添加一个#if来确定使用哪个版本的mono进行编译,但是我找不到任何可以做到这一点的东西。 #if MONO是不够的。另一个有用的备忘单将列出编译器可用的所有mono预定义变量。我确定版本可能是其中一个项目。

顺便说一下,这个项目的所有用户都会自己编译应用程序,因此不需要进行运行时检查。如果他们的单声道不支持TLS 1.1 / 1.2,那么它仍然应该在他们的机器上构建,他们的特定二进制文件不会有1.1 / 1.2,这完全没问题,因为他们无论如何都会运行它。

1 个答案:

答案 0 :(得分:0)

您可以导出env var。并使用它来设置编译器指令:

示例:

export MONO_VERSION=`mono --version | grep version | cut -d " " -f 5`
echo $MONO_VERSION
5.10.0.179