W kodzie wiem, aby uwzględnić lub wykluczyć niektóre sekcje kodu w oparciu o aktualnie aktywną konfigurację kompilacji odzwierciedloną przez stałe kompilatora, takie jak DEBUG
:
static void Main()
{
#if DEBUG
//While debugging this section is used.
#else
//In Release this section is used. This is the "normal" way.
#endif
}
Teraz chcę zrobić to samo w pliku konfiguracyjnym, takim jak web.config lub app.config, coś takiego:
<appSettings>
<!-- IF DEBUG -->
<add key="foo" value="debug-setting" />
<!-- ELSE -->
<add key="foo" value="release-setting" />
<!-- ENDIF -->
</appSettings>
Jak mogę to zrobić?
Odpowiedzi:
0 dla odpowiedzi № 1Nie można tego zrobić, konfiguracje nie zapewniają tej dokładnej funkcjonalności.
To, czego możesz użyć, to transformacja konfiguracji. Używając tego, definiujesz opcjonalną transformację na konfigurację kompilacji, gdzie możesz zrobić coś takiego:
App.config
:
<appSettings>
<add key="foo" value="debug-setting" />
</appSettings>
App.Release.config
:
<appSettings>
<add key="foo" value="release-setting" xdt:Transform="Replace" xdt:Locator="Match(key)" />
</appSettings>
Zobacz też App.Config Transformation dla projektów, które nie są projektami WWW w Visual Studio 2010?.