Silverlight 4应用程序显示空白页面版本构建
-
01-10-2019 - |
题
我正在研究一个相当大的Silverlight 4应用程序(1个解决方案中的42个项目),而我正在为一个非常奇怪的问题搏斗。
该应用程序在调试构建中正常运行,即使在发行版中,它也会随附调试器(F5)运行,但是当它运行而无需调试Silverlight XAP负载时,然后仅显示一个空白页面。
我正在处理没有触发的应用程序_unhandledException,因此从中获取任何有用的信息几乎是不可能的,尤其是因为我无法使用附加的调试器复制此行为。
当附加调试器可能引起此问题时,运行时有什么区别?
编辑:我还应该补充说,调试构建也无需附加调试器即可运行。
解决方案
事实证明,问题是发行版构建执行一些优化,以改变调用组件。
我们使用反射和Debug Assembly.getCallingAssembly().getTypes()在IOC容器中注册类型。但是在发行模式下,调用组件是生成的匿名托管动力学组件,因此我们的类型未在IOC容器中注册,并且该应用程序以释放模式崩溃。
修复程序是使用this.getType()。汇编。
问题更复杂的是,当从IOC容器中抛出异常时,Silverlight仅显示一个空白页,因此很难识别故障原因。肯定有某种方法可以改变这种行为?
其他提示
IIS部署中空白页面的一个常见原因是缺乏MIME类型的定义。取决于Silverlight应用程序的类型,必须添加以下一种或多种类型:
.XAP应用程序/X-Silverlight-App .XAML应用程序/XAML+XML .xbap应用程序/X-MS-XBAP
不隶属于 StackOverflow