То, что вы пытаетесь достичь, не будет работать таким образом. «Лучший» (IMHO) метод для этого - создать приложение из 3 файлов (или веб) .config dev.config и test.config (и, возможно, release.config). Затем в свойствах решения вы можете выполнить команду предварительной сборки, чтобы скопировать соответствующий файл .config, чтобы он стал «активным» на основе типа сборки, в app.config (или web.config).
Вы можете узнать больше об этом http://msdn.microsoft.com/en-us/library/aa983464%28v=vs.80%29.aspx
и http://msdn.microsoft.com/en-us/library/ke5z92ks.aspx
Скотт Хансельман написал отличную статью об этом подходе: http://www.hanselman.com/blog/ManagingMultipleConfigurationFileEnvironmentsWithPreBuildEvents.aspx
Так что вам нужно сделать это во время выполнения:
Если вы хотите получить другие настройки во время выполнения, то подход, который, вероятно, будет работать лучше всего, заключается в установлении соглашения об именах, например:
<appSettings>
<add name="fearofawhackplanet.connectionString" value="your connection string" />
<add name="cosCallis.connectionString" value="my connection string" />
</appSettings>
Я надеюсь, что оттуда вы можете увидеть, как управлять этим во время выполнения, чтобы получить ключ / значения, которые вам нужны.