【问题标题】:NullReferenceException thrown when app is updated and new UI added - WP8更新应用程序并添加新 UI 时引发 NullReferenceException - WP8
【发布时间】:2014-05-28 07:24:41
【问题描述】:

这真的很奇怪,而且还是第一次发生。

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

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

                <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。

请有人帮忙!

【问题讨论】:

  • 可能是你把它移到了某个无法访问的模板中

标签: windows-phone-8 nullreferenceexception


【解决方案1】:

虽然我无法真正解释为什么您首先会遇到此空异常,但您的担忧是没有根据的。更新后,用户将拥有与您完全相同的二进制内容。只有存储在应用程序存储中的数据才会在更新期间引起问题。

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

【讨论】:

    【解决方案2】:

    我通过在Release 模式而不是调试模式下运行它解决了这个问题,所以我猜以前的版本被覆盖了,或者丢失的东西可能已经更新并且一切正常!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-28
      • 2017-12-12
      • 1970-01-01
      • 2016-12-02
      • 2022-01-02
      相关资源
      最近更新 更多