Один из способов справиться с подобными вещами, и я не уверен, что это лучше, но это способ - установить определенные значения конфигурации в файле web.config более высокого уровня или файле machine.config, который всегда находитсяна рассматриваемой машине.
Затем просто убедитесь, что файлы вашего проекта не переопределяют эти значения конфигурации.
Вот некоторые соображения, если вы сделаете это.
- Если вы хотите контролировать эти значения в источнике, это может быть более сложным способом (это может быть за или против в зависимости от вашей среды).
- Если другие виртуальные сайты находятся на той же машине и используютодинаковые значения конфигурации, это может повлиять на их все, и если несколько сайтов используют одно и то же значение конфигурации, изменение его в источнике изменит их все (опять же, это может быть как за, так и против).
- Если что-то не так со значением, может быть сложнее определить, где проблема или что ее вызывает.
- Возможно, dв вашей организации или с вашим хостинг-провайдером, в зависимости от ваших прав доступа / безопасности, и не всегда возможно поставить web.config на более высокий уровень, чем ваше приложение.
Очевидно, что здесь хорошов том, что вы можете настроить разные значения на каждом компьютере, и если эти значения также не заданы в вашем файле web.config (что может привести к ошибке), вам не придется беспокоиться о компиляции разных версий.
Я считаю, что в Visual Studio 2010 есть способ настройки разных файлов конфигурации для разных типов сборки, но это похоже на то, что вы уже делаете, поэтому забывание правильной сборки все равно может привести к аналогичным результатам.,
Вы можете попытаться настроить непрерывную интеграцию с чем-то вроде TFS Build, если это доступно для вас, и в этом случае то, что собирается для prod, может быть настроено так, чтобы оно всегда работало определенным образом и всегда вытягивало из правильноготип сборки.
Надеюсь, что-то здесь поможет.