微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Silverlight C++ XRPack 版本不兼容&资源编译

使用:Silverlight C++
在为了解决错误 :0XC00CEE2B 时在网上查找到不同的 XRPack 的兼容性有问题,如下链接
https://social.msdn.microsoft.com/Forums/en-US/c28d5513-984e-4c2f-bd02-fa59b8ddb517/embedded-silverlight-on-wec7-fails-to-start-with-hresult-of-0xc00cee2b?forum=winembnatapp
不同版本的 XRPack 生成的 *.baml 和 *.Compressed 不能通用
XRPack version 7.00.437:只生成了 *.baml
XRPack version 7.00.2825:生成了 *.baml 和 *.Compressed
当使用 XRPack version 7.00.437 生成的 *.baml 时,LoadResourceDictionary() 失败。错误信息如下代码所示:
HRESULT App::InitializeComponent()
{
	RXamlSource appxaml(GetHInstance(),IDR_FRONT_LINK_UI_APP);
	HRESULT hr = m_pApplication->LoadResourceDictionary(&appxaml,NULL);
	if(WC_E_XMLCHaraCTER == hr)		// Error Code: 0XC00CEE2B
	{
		printf("0x%x: illegal xml character",hr);
	}
	return hr;
} // InitializeComponent

将 XRPack 的版本更换为:XRPack version 7.00.2825:后就能生成了 *.baml 和 *.Compressed,且没有上述 0XC00CEE2B 的出错。

如果将调试生成的目录中的文件全部删除,再次编译时会出现如下错误
1>.\Front_Link_UIGenerated.rc2(8) : error RC2135 : file not found: ..\..\OutPut\exe\Front_Link_UI\App.Compressed
1>.\Front_Link_UIGenerated.rc2(9) : error RC2135 : file not found: ..\..\OutPut\exe\Front_Link_UI\MainPage.Compressed
1>.\Front_Link_UIGenerated.rc2(10) : error RC2135 : file not found: ..\..\OutPut\exe\Front_Link_UI\Page_Link_001.Compressed

App.baml/App.Compressed,MainPage.baml/MainPage.Compressed,Page_Link_001.baml/Page_Link_001.Compressed 中后缀为 *.baml 的文件生成了,但后缀为 *.Compressed 的没有生成
解决方法
将 Front_Link_UIGenerated.h 和 Front_Link_UIGenerated.rc2 文件删除
再次编译,可以看到如下编译 LOG:
1>Xaml: e:\Work\T9\MainProcess\T9_Debug\CODE\CODE_UI\BlendProject\Front_Link\Front_Link_UI\App.xaml
1>Baml: e:\Work\T9\MainProcess\T9_Debug\CODE\CODE_UI\OutPut\exe\Front_Link_UI\App.baml
1>Compile Xaml SUCCEEDED (5.2%)
1>Xaml: e:\Work\T9\MainProcess\T9_Debug\CODE\CODE_UI\BlendProject\Front_Link\Front_Link_UI\MainPage.xaml
1>Baml: e:\Work\T9\MainProcess\T9_Debug\CODE\CODE_UI\OutPut\exe\Front_Link_UI\MainPage.baml
1>Compile Xaml SUCCEEDED (26.4%)
1>Xaml: e:\Work\T9\MainProcess\T9_Debug\CODE\CODE_UI\BlendProject\Front_Link\Front_Link_UI\Page_Link_001.xaml
1>Baml: e:\Work\T9\MainProcess\T9_Debug\CODE\CODE_UI\OutPut\exe\Front_Link_UI\Page_Link_001.baml
1>Compile Xaml SUCCEEDED (-36.0%)
在 Blend 中修改页面后,是需要导入到 VS2008 的。导入方法: 先在“解决方案资源管理器”中选中要更新的项目,点击菜单“工具”,依次选择:Windows Embedded Silverlight Tools -> Update Silverlight for windows Embedded Project...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐