Мы работаем над программным обеспечением .NET, и до сих пор мы могли работать с единой версией нашего программного обеспечения для наших клиентов. Однако из-за некоторых непредвиденных изменений в среде, в которой будет работать наше программное обеспечение, теперь нам потребуются две аналогичные версии одного и того же программного обеспечения, из которых наши клиенты смогут выбирать.
Что является хорошей практикой, когда речь идет о похожих версиях одного и того же программного обеспечения?
Изначально я думал о двух проектах для нашего решения, по одному для каждой версии, но это повлекло бы за собой кошмар обслуживания. Разница заключается в одном файле * .cs (который, в свою очередь, содержит много разных методов и сторонних ссылок на dll), и наличие двух разных проектов потребовало бы от нас зеркалирования каждого изменения в обоих проектах (при условии, что нам не понадобится третья версия).
Я никогда раньше не сталкивался с подобной ситуацией, и я хотел бы знать, что является рекомендуемой / наиболее принятой альтернативой в этом случае.