Возможно, другой способ достичь желаемого результата;
У меня есть несколько библиотек, для которых я сохраняю версии, например, для нескольких версий .NET, но в основном они имеют одинаковый исходный код Я создал отдельные проекты для проекта версии 4.0 и включил исходный код из версии 2.0, но я включил их как связанные файлы вместо их копирования.
Это эффективно делает то, что вы хотите, я думаю; отдельные файлы проекта, но тот же исходный код. Поскольку я включил файлы как связанные файлы, изменения влияют на оба проекта, которые также находятся в одном решении для удобства.
Затем я просто определяю значение препроцессора в версии 4.0 для любых различий, которые могут потребоваться в источнике.
Это раскрывающийся интерфейс кнопки «Добавить» в диалоговом окне «Добавить существующий элемент» в Visual Studio: