Tag: release

如何在发布模式+“.Net Native工具链”中调试UWP应用程序

我已经开发了一个可以在全球范围内正常运行的UWP应用程序 ,但是我遇到了Store应用程序或Release版本的一些问题,而在Debug构建中一切正常… 该应用程序似乎非常基本:ts允许用户通过Web服务创建和同步表单。 在应用程序启动时,将进行测试以查看用户是否已登录:如果不是这样,则应用导航到“ 登录 ”页面,否则导航到“ 主页 ”页面,其中包含表格清单。 然后,用户可以通过“ 详细信息 ”页面编辑每个表单。 “调试模式: 当我在“调试”模式下构建应用程序时,我没有遇到任何未捕获的exception,并且一切正常 。 商店应用: Store应用程序的最新版本已成功生成并validation,没有任何问题。 但是,当用户从“ 详细信息 ”页面返回“ 主页 ”页面时,我的最后一项更改会引发应用程序崩溃 。 我怀疑这个更改特别引发错误:我在“ 详细信息 ”视图中添加了一些代码来通过“ OnNavigatedFrom ()”来清理资源: protected override void OnNavigatedFrom(NavigationEventArgs e) { ViewModel = this.DataContext as DetailsViewModel; if (!ViewModel.ToChildNavigate) { // Dispose resources this.Resources.Clear(); this.Loaded -= DetailsPage_Loaded; ViewModel = null; } base.OnNavigatedFrom(e); } 为了解决这个问题,我想在“发布”模式下使用“.Net […]

string.GetHashCode()在debug vs release中返回不同的值,我该如何避免这种情况?

令我惊讶的是,下面的方法在debug和release中产生了不同的结果: int result = “test”.GetHashCode(); 有什么方法可以避免这种情况吗? 我需要一种可靠的方法来散列字符串,我需要在调试和发布模式下保持一致的值。 如果可能的话,我想避免编写自己的哈希函数。 为什么会这样? 仅供参考,reflection器给了我: [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail), SecuritySafeCritical] public override unsafe int GetHashCode() { fixed (char* str = ((char*) this)) { char* chPtr = str; int num = 0x15051505; int num2 = num; int* numPtr = (int*) chPtr; for (int i = this.Length; i > 0; i -= 4) { […]