UPDATE
Уф, 2009 год, конечно, был давно;) Я собираюсь оставить исходный ответ для потомков, но, как сказал Эрик Дж. В обновленной версии своего поста в 2012 году Slowcheetah - гораздо более гибкий подход к этой проблеме, поскольку он позволяет вам создавать несколько конфигурационных файлов для каждой конфигурации.
Оригинальный ответ
Я не могу ответить за часть публикации, так как не уверен, что это можно сделать. Однако для части строки подключения можно создать «класс поставщика строки подключения», который будет возвращать строку подключения к разработке, если вы находитесь в разработке, или строку производственного подключения, если вы находитесь в разработке.
Я не знаю, используете ли вы режим компиляции Debug и Release в менеджере конфигурации, но возможно использовать его с директивой прекомпилятора:
public class ConnectionStringProvider
{
public static string GetConnectionString()
{
#if (DEBUG)
return DevConnectionString;
#else
return ProdConnectionString;
#endif
}
}
Если вы используете панель настроек VS2005 (в настройках проекта), вы можете установить там 2 строки подключения и использовать их вместо постоянного значения. Если вы используете какой-либо из .Net DataSource, вы всегда можете использовать строку подключения DEV для создания вашего объекта.
Кроме того, поставщик строки подключения может использовать шаблон Singleton, но я не уверен, что будет реальная выгода.