Если вы хотите сделать что-то подобное, вам нужно будет использовать команды препроцессора и условные символы компиляции.
Я бы использовал символы, которые четко указывают на версию .NET, на которую вы ориентируетесь (скажем, NET11 и NET20), а затем обернул бы соответствующий код следующим образом:
#if NET11
// .NET 1.1 code
#elif NET20
// .NET 2.0 code
#endif
Причина, по которой вы делаете это таким образом, а не простой if / else, - дополнительный уровень защиты на случай, если кто-то забудет определить символ.
При этом вы должны действительно понять причину, почему вы хотите / должны сделать это.