Я решил это с помощью управления версиями, другого пути не нашел.
Я хотел, чтобы несколько «экземпляров» одного и того же приложения biztalk работали вместе, но с разными конфигурациями (не просто разными привязками), чтобы моделировать разные среды, но использовать один и тот же экземпляр biztalk. Таким образом, он может взаимодействовать с другими частями программного обеспечения, также реплицированными на том же компьютере, а также с внешними системами, представляющими собой одинаковые среды и разные базы данных.
Проблема заключалась в том, что мне приходилось использовать разные соединительные строки для определения разных БД, по одному для каждой среды в файле BTSNTSvc.Exe.Config. Но поскольку сборки были одинаковыми, у меня не было возможности заставить каждое приложение biztalk использовать свою собственную строку подключения, если только каждая сборка не знала во время выполнения, как принять это решение (например, зная, к какой среде оно относится).
Итак, сейчас у меня есть сценарии, которые компилируют и разворачивают несколько версий и меняют имя используемой строки подключения, а также версии сборок (с использованием символов компиляции).
Спасибо за вашу помощь.