Здравствуйте, Ночной Смотрящий, Вы писали:
НС>А разве msbuild их должен определять?
C# Language Reference их определяет. Слышал про такое?
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/preprocessor-directives
По моему проще один раз прописать или сгенерить небольшой файлик и не заморачиваться разным поведением разного окружения.
НС>НС> <PropertyGroup Condition="'$(TargetFramework)' == 'net11' ">
НС> <DefineConstants>$(DefineConstants);TARGETS_NET</DefineConstants>
НС> <DefineConstants>$(DefineConstants);LESSTHAN_NET20;LESSTHAN_NET35;LESSTHAN_NET40;LESSTHAN_NET403;LESSTHAN_NET45;LESSTHAN_NET451;LESSTHAN_NET452;LESSTHAN_NET46;LESSTHAN_NET461;LESSTHAN_NET462;LESSTHAN_NET47;LESSTHAN_NET471;LESSTHAN_NET472;LESSTHAN_NET48</DefineConstants>
НС> <DefineConstants>$(DefineConstants);NET11_OR_GREATER</DefineConstants>
НС> </PropertyGroup>
НС>
НС>Можно готовый взять тут.
не то. опять. и ссылка не та.