C#

Die Transformation der config Datei wird bei der App.config standartmäßig nicht Unterstützt.
In ASP.Net Web Projekten gibt es die web.config Datei mit unterschiedlichen Build Konfigurationen.

Um das selbe Verhalten für die App.Config möglich zu machen, müssen einige Änderungen in der csproj unseres Projekte gemacht werden.

  1. Rechtsklick auf das Projekt in Visual Studio > Hinzufügen > Neues Element > Application Configuration File
  2. App.Release.config Datei hinzufügen
  3. App.Debug.config Datei hinzufügen
  4. Bearbeiten der csproj Datei und folgende Zeilen hinzufügen.
<ItemGroup>
    <None Include="App.config" />
    <None Include="App.Debug.config">
      <DependentUpon>App.config</DependentUpon>
    </None>
    <None Include="App.Release.config">
      <DependentUpon>App.config</DependentUpon>
    </None>
  </ItemGroup>
  1. Unterhalb der PropertyGroup, folgenden Code hinzufügen.
<PropertyGroup>
    <AppConfig>App.$(Configuration).config</AppConfig>
</PropertyGroup>
  1. Config Dateien Bearbeiten (Release und Debug müssen identisch sein).
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
  </startup>
  <appSettings>
    <add key="Setting1" value="Debug"/>
  </appSettings>
</configuration>
  1. Beim Release und Debug build werden Unterschiedliche Werte zurück gegeben.
System.Configuration;

NameValueCollection appSettings = ConfigurationManager.AppSettings;
string result = appSettings["Setting1"] ?? "Not Found";

Schreibe einen Kommentar