Silverlight清单配置错误:InitializeError 2103
2012-11-22 08:33 slmk 阅读(2419) 评论(0) 编辑 收藏 举报出现原因
今天试图将Silverlight程序进入点设为引用的类库里面的App.xaml,结果发现行不通,出现如下错误:
SCRIPT5022: Silverlight 应用程序中未处理的错误
代码: 2103
类别: InitializeError
消息: 应用程序无效或格式不正确: 请查看清单
所谓的“程序清单”是指:AppManifest.xaml。位于项目的properties文件夹下有此文件的模板。一般出现此错误的原因是Silverlight找不到入口点了,就像C程序找不到main函数了。
结论
App.xaml只能设为主应用程序的,不能设为类库的。准确的说应该是VS 2010不支持,只能手动打包XAP,把你包含入口App.xaml的dll放在<Deployment.Parts>第一行:
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" EntryPointAssembly="SLLib" EntryPointType="SLLib.App" RuntimeVersion="5.0.61118.0"> <Deployment.Parts> <AssemblyPart x:Name="SLLib" Source="SLLib.dll" /> <AssemblyPart x:Name="SLApp" Source="SLApp.dll" /> </Deployment.Parts> </Deployment>
因为Silverlight自动寻找第一个程序集的入口点,而VS打包的xap,默认是把主应用程序设为第一个。手动打包还是比较麻烦,所以我主动绕开了,还是乖乖的用主程序下的App.xaml吧!