Если я правильно понимаю, похоже, у вас есть несколько развертываний (по одному для каждого клиента), где единственное отличие - это web.config, верно?
Прежде всего, хотя я не знаю вашей уникальной ситуации, я, как правило, призываю вас придерживаться отдельных установок. Это обычно позволяет гораздо больше гибкости. Сверху головы: у вас когда-нибудь будут настройки, или у разных клиентов разные версии? Вы уверены ? Самый простой способ сохранить гибкость в этом случае - продолжить установку с отдельными установками.
По-моему, совсем не страшно, если ваши практики правильно выровнены. Исходя из некоторых вещей, которые вы упомянули, у вас есть проблемы в этой области - очевидно, возможные проблемы с бай-ином / обучением контроля источников. Но вы знаете об этом. Я бы также внимательно посмотрел на ваши процедуры развертывания и так далее. У меня такое чувство, что у вас могут быть другие проблемы в этой области, и я имею в виду абсолютно без обид.
Тем не менее, скажем, вы хотите двигаться вперед с этим.
Вы не сказали, все ли клиенты используют одну общую базу данных, но я думаю, что нет, поскольку проектирование такого типа системы часто не стоит дополнительной сложности (которая может быть серьезной в системах любого размера), поэтому люди часто предпочитают держать их отдельно.
Это означает, что вы где-то сохранили строку подключения. Обычно это web.config ... Так что, похоже, это нарушает наш план.
Действительно, кажущаяся элегантность этой ситуации почти всегда дико компенсируется возникающими проблемами. Если бы я думал об этом достаточно сложно, я мог бы, возможно, найти способ обойти это, представив другую базу данных, которая разумно управляет строками соединения, или, возможно, углубился в сохранение всей вашей информации для входа в систему непосредственно в web.config (что возможно, но ... не идеально) Однако моя интуиция говорит, что работа будет потрачена впустую, потому что однажды вы вернетесь к тому, как вы это делаете сейчас.
Кроме того: изменение кода непосредственно в производстве, очевидно, не является лучшей практикой. Но если вы находитесь на монолитной общей платформе с любым объемом трафика, этого никогда не случится. Пища для размышлений.
Дайте мне знать, если я что-то упустил!