O WPF AlternateContent não está funcionando
Estou tentando mostrar diferentes elementos de exibição em um controle WPF nas configurações de depuração e lançamento para fins de teste. Eu usei este post como um guia:O XAML possui uma diretiva de compilador condicional para o modo de depuração? (TÃO)
Para testá-lo, criei uma solução VS2013 com um único projeto de aplicativo WPF, chamado TestingAlternateContent. Dentro do meu AssemblyInfo.cs, adicionei o seguinte código:
#if DEBUG
[assembly: XmlnsDefinition("debug-mode", "TestingAlternateContent")]
#endif
No meu MainWindow.xaml, criei um exemplo de código simples para testar esse comportamento da seguinte maneira:
<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>
Durante o teste, sempre vejo a janela com o "Modo de liberação aqui!" mensagem, independentemente de qual configuração (Debug, Relase) eu estou usando. Eu verifiquei se o AssemblyInfo #if DEBUG está funcionando adequadamente, alterando adequadamente quando eu mudo entre as configurações de Depuração / Liberação. Testei o mesmo código no VS2008 / VS2013 com as versões do .NET Framework 3.5 / 4.5 e nenhuma funcionou. o que estou perdendo? Alguém sabe o que está errado aqui ou pode postar um código de trabalho como referência?