更新应用程序并添加新UI时抛出NullReferenceException - WP8

时间:2014-04-14 10:57:27

标签: windows-phone-8 nullreferenceexception

这真是奇怪而且第一次发生。

我在商店里有一个版本的应用程序。下一个版本的UI更改很少。做了很多重新安排。

现在发生的是,对于用xaml编写的文本块,当我尝试分配一些文本时,我得到一个NullReferenceException。在赋值之前调用InitilizeComponent,那么textblock如何保持为空!

                <Grid x:Name="AdsDialog" Grid.Row="2">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="*"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="30"/>
                    </Grid.RowDefinitions>
                    <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
                        <TextBlock Name="statusPreview1" Text=" " Width="240" TextAlignment="Center" Foreground="#FF121212" FontFamily="{StaticResource CicleSemi}" MaxWidth="250" MaxHeight="70" HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap" Margin="0,0,0,3" />
                        <TextBlock Name="statusPreview" Text="" Width="240" TextAlignment="Center" Foreground="#FF121212" FontFamily="{StaticResource CicleSemi}" MaxWidth="250" MaxHeight="70" HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap" Margin="0,0,0,3" />
                    </StackPanel>    
                </Grid>

重建应用时,错误消失了。但是,如果我推出现有用户的更新,很可能会抛出异常!

StatusPreview1是新的TextBlock。

有人请帮忙!

2 个答案:

答案 0 :(得分:1)

虽然我无法解释为什么你首先得到这个空的例外,但你的担忧是没有根据的。更新后,用户将拥有与您完全相同的二进制内容。只有存储在应用程序存储中的数据才会在更新期间导致问题。

最有可能的是,编译器未能注意到您的某些更改,并且没有重新生成obj文件夹中的文件(您是否有机会更改计算机的系统日期?)。在进行完全重建时,编译器会停止尝试找出需要重新生成的文件,并从头开始编译所有文件。

答案 1 :(得分:0)

我通过在Release模式而不是调试模式下运行它来修复问题,所以我想以前的版本已经过了写,或者可能缺少的东西得到了更新,一切正常!