Error de lanzamiento de setter privado solo en la versión de lanzamiento
Tengo una configuración de mosaico de mapa que estoy actualizando a través de un botón de menú. Tengo una situación extraña en la que solo estaba detectando un error en las versiones de lanzamiento. El código es el siguiente:
Ver modelo
private KnownTileSource _selectedTile;
public KnownTileSource SelectedTile
{
get { return _selectedTile; }
private set
{
_selectedTile = value;
...
OnPropertyChanged("SelectedTile");
}
}
Ver
<Window ...
xmlns:predefined="clr-namespace:BruTile.Predefined;assembly=BruTile">
...
<MenuItem Header="_Bing Aerial" Command="{Binding ChangeTileCommand}" CommandParameter="{x:Static predefined:KnownTileSource.BingAerial}" IsChecked="{Binding Path=SelectedTile, Mode=TwoWay, Converter={local:EnumToBooleanConverter}, ConverterParameter=BingAerial}"/>
...
</Window>
Todo esto funcionaba bien en mi entorno de desarrollador, pero cuando generé una versión de lanzamiento recibí lo siguiente:
Error
System.InvalidOperationException: A TwoWay or OneWay ToSource binding cannot work on the read-only property 'SelectedTile'...
Solución simple, cambioprivate set
aset
en lo anteriorSelectedTile
propiedad.
Entonces, ¿cómo es que esto no arrojó el error durante la depuración y solo durante el lanzamiento? No puedo ver cómo esto funcionó durante el modo de depuración.