Utilisation de $(OS)
, comme documenté dans d'autres réponses, peut faire la distinction entre Windows_NT
et Unix
(qui inclut à la fois Linux et macOS), mais pas entre différents systèmes de type Unix. Si vous utilisez MSBuild 15.3 ou une version ultérieure (ce qui est très probable), vous pouvez envisager d'utiliser [MSBuild]::IsOsPlatform()
:
<Exec Command="./foo.sh" Condition="$([MSBuild]::IsOSPlatform('Linux'))" />
L'argument peut être le nom de n'importe quel OsPlatform
membre.
La variable est $(OS)
, généralement vérifié pour être ou ne pas être Windows_NT
:
<Exec Command="./foo.sh" Condition=" '$(OS)' != 'Windows_NT' " />