C# Adduplex控件在真实手机上引发InvalidOperationException

C# Adduplex控件在真实手机上引发InvalidOperationException,c#,xaml,windows-phone-8,adduplex,C#,Xaml,Windows Phone 8,Adduplex,我有Silverlight WP8应用程序,使用Nuget的AdDuplexWP8.2.8.0.9 sdk。我已经在Adduplex.com上添加了我的应用程序,它处于运行状态 当我在模拟器上运行它时,它会像预期的那样显示横幅。但当我在真人手机上试用时,它会引发: System.InvalidOperationException Sequence contains no elements: at System.Linq.Enumerable.First[TSource](IE

我有Silverlight WP8应用程序,使用Nuget的AdDuplexWP8.2.8.0.9 sdk。我已经在Adduplex.com上添加了我的应用程序,它处于运行状态

当我在模拟器上运行它时,它会像预期的那样显示横幅。但当我在真人手机上试用时,它会引发:

    System.InvalidOperationException 
     Sequence contains no elements: at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)

at  AdDuplex.WindowsPhone.DLL!AdDuplex.Models.ObstructionDetector.IsElementOnTop(Microsoft.Phone.Controls.PhoneApplicationFrame frame, Microsoft.Phone.Controls.PhoneApplicationPage page, System.Windows.FrameworkElement marker, out System.Windows.FrameworkElement culpritElement, bool isTest)
是因为带有adduplex的应用程序版本尚未发布吗

由于两个配置(ARM和x86)中只包含一个dll,我怀疑sdk本身可能有问题,但这是我可以使用的唯一sdk版本

更新:应用程序现在处于“运行”状态


另一方面,Windows 8版本的应用程序运行得很好,甚至处于挂起状态。

所有问题的根源在于试图在运行时调整adControl的位置

由于最终用户的屏幕分辨率在设计时未知,我可以设置DrawingSurface高度,如果没有明确指定高度,它将变为零。这就是为什么我在Microsoft.Xna.Framework.Game构造函数中设置adControl.Margin或DrawingSurface.Height。在emulator上(以及在Win8版本中)一切都正常,但在实际设备上,不知何故,adDuplex代码弄乱了adcontrol的位置和模糊性

到目前为止,解决方案很简单:

   <DrawingSurface x:Name="XnaSurface" Canvas.ZIndex="0" />
   <adduplex:AdControl x:Name="adDuplexAd"  AppId="{MyID}"
                            Canvas.ZIndex="100" VerticalAlignment="Bottom"  />


但是如果你打算移动adControl,你应该使用transform raither,而不是边距或宽度/高度。

我会说等它不再挂起后,看看你是否仍然会出错。你试过在几种不同的手机上进行测试吗?哪种型号的手机让你感到困难?现在我只有一款-诺基亚lumia 920,你能告诉我更多关于你的应用程序吗?你把广告控制放在哪里?它是基于Pivot的应用程序吗?它是基于WP8单游戏的应用程序(基于XAML单游戏模板),AdControl添加到DrawingSurface旁边的游戏页面。在任何模拟器上工作正常,但在真正的诺基亚920上失败。