Есть несколько незначительных мест, в которых код моего проекта может быть значительно улучшен, если целевой платформой была более новая версия. Я хотел бы иметь возможность лучше использовать условную компиляцию в С#, чтобы переключать их по мере необходимости.
Что-то вроде:
#if NET40
using FooXX = Foo40;
#elif NET35
using FooXX = Foo35;
#else NET20
using FooXX = Foo20;
#endif
Любой из этих символов предоставляется бесплатно? Нужно ли вводить эти символы как часть конфигурации проекта? Это кажется достаточно простым, так как я буду знать, на какую платформу нацелен MSBuild.
/p:DefineConstants="NET40"
Как люди справляются с этой ситуацией? Вы создаете разные конфигурации? Вы передаете константы через командную строку?