仅当从商店下载时,Windows Phone应用程序才会崩溃

5
我有一个非常奇怪的问题,我开发了一个Windows Phone应用程序,在通过Visual Studio安装时完美运行......我将其上传到Beta Store并从商店安装,但该应用程序总是在启动屏幕上崩溃!谢谢。

为什么要踩我?我真的不知道该说什么了!!! - PandaSharp
1
这是什么应用?它有什么功能?很可能是能力或内存问题。 - Matt Lacey
应用程序从rss加载新闻,从Facebook加载画廊,从Google日历加载推文和活动。但是在启动时不会加载任何东西,只有主页面,在闪屏界面崩溃后没有出现。在我从Visual Studio安装后,我可以使用该应用程序而没有任何问题,也可以从菜单中进行独立加载。关于功能,除了游戏服务之外,选择了所有标准功能。我尝试使用Windows电话应用程序部署工具安装构建的XAP,并且它可以正常工作,没有问题! - PandaSharp
1
您提交到商店的XAP文件在公开发布之前会重新编译。显然,在这个过程中出了一些问题。如果您无法共享测试版链接,请检查开发中心中的堆栈跟踪,并尝试联系市场支持。 - Matt Lacey
我会尝试联系支持,有没有私下在stackoverflow联系您的机会?我可以发送给您链接,但我需要您的电子邮件先将您添加到beta测试中 :)谢谢! - PandaSharp
1
Stackoverflow不支持私信,但是如果你查看我的个人资料,你会看到一个私人域名的链接。我相信你可以想办法从那里给我发送电子邮件... - Matt Lacey
3个回答

2

如果您的应用程序使用定期的后台代理,并且您正在使用LaunchForTest方法进行测试,则应确保您在代码的发布版本中不要调用此方法。
请使用适当的条件编译时间检查来保护它:

#if DEBUG
ScheduledActionService.LaunchForTest(periodicTaskName, TimeSpan.FromSeconds(1)); 
#endif

请注意,默认情况下在“Debug”配置中定义了DEBUG,而在“Release”中没有定义,以便处理此类情况。
如果市场/商店执行的自动化测试能够检测到这一点,那将会很好,但目前还不能。也许将来有一天...

有人知道在测试自己的代码时,是否可以在发布配置中使用ScheduledActionService.LaunchForTest吗?即测试未在商店中的发布构建版本? - Michael Sabin

1

可能是因为您的应用程序需要超过4秒才能变得可用。在调试期间,该要求被禁用,但当它在商店中时,您的应用程序需要快速响应。


谢谢,我会处理这个建议的。到目前为止,我尝试了以下方法:
  • 编辑功能:没有成功
  • 现在我正在尝试删除所有调试和ScheduledActionService.LaunchForTest引用
  • 后来我会像微软支持建议的那样检查应用程序是否写入安装目录
  • 最后,我也会尝试您的建议,因为这个应用程序启动非常快,因为它只是一个菜单,但现在在启动后加载一些来自Twitter的数据...也许是这个原因。谢谢
- PandaSharp
1
绝对不要在发布代码中调用ScheduledActionService.LaunchForTest - 这也会导致应用程序崩溃(我曾经遇到过这种情况! :D) - ChrisF

0
非常感谢大家,是的,问题出在ScheduledActionService.LaunchForTest上,现在我已经将所有代码注释掉了。
//#define DEBUG_AGENT

 //#if(DEBUG_AGENT)
        //ScheduledActionService.LaunchForTest(periodicTaskName, TimeSpan.FromSeconds(1)); 
        //#endif

你认为我可以这样取消注释第二部分吗:

//#define DEBUG_AGENT

 #if(DEBUG_AGENT)
        ScheduledActionService.LaunchForTest(periodicTaskName, TimeSpan.FromSeconds(1)); 
        #endif

这个应用程序会工作得一样吗?

谢谢!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接