WPF AlternateContent funktioniert nicht
Ich versuche, verschiedene Ansichtselemente in einem WPF-Steuerelement in Debug- und Release-Konfigurationen zu Testzwecken anzuzeigen. Ich habe diesen Beitrag als Leitfaden verwendet: Hat XAML eine bedingte Compiler-Direktive für den Debug-Modus? (SO
Zum Testen habe ich eine VS2013-Lösung mit einem einzelnen WPF-App-Projekt namens TestingAlternateContent erstellt. In meiner AssemblyInfo.cs habe ich den folgenden Code hinzugefügt:
#if DEBUG
[assembly: XmlnsDefinition("debug-mode", "TestingAlternateContent")]
#endif
n meinem MainWindow.xaml habe ich ein einfaches Codebeispiel erstellt, um dieses Verhalten wie folgt zu testen:
<Window x:Class="TestingAlternateContent.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:debug="debug-mode"
mc:Ignorable="mc debug"
Title="MainWindow" Height="350" Width="525">
<Grid>
<mc:AlternateContent>
<mc:Choice Requires="debug">
<TextBlock Text="Debug mode!!" />
</mc:Choice>
<mc:Fallback>
<TextBlock Text="Release mode here!" />
</mc:Fallback>
</mc:AlternateContent>
</Grid>
</Window>
Während ich das teste, sehe ich immer das Fenster mit dem "Freigabemodus hier!" Unabhängig davon, welche Konfiguration (Debug, Relase) ich verwende. Ich habe überprüft, ob die AssemblyInfo #if DEBUG ordnungsgemäß funktioniert. Sie ändert sich entsprechend, wenn ich zwischen Debug- / Release-Konfigurationen wechsle. Ich habe denselben Code unter VS2008 / VS2013 mit .NET Framework 3.5 / 4.5-Versionen getestet und keiner hat funktioniert. Was vermisse ich? Weiß jemand was hier falsch ist oder kann ein funktionierender Code als Referenz posten?