这是this的后续行动。
Windows Phone 8 C#项目(MyApp),从WP7.1迁移。我已经在解决方案中添加了一个本机Windows运行时组件库(AppLib),创建了一个引用。其中有一个公共密封的ref类(MyClass)。在C#代码中有一个对它的引用(在主XAML页面的OnLoaded
中)。整个构建 - 意味着正在生成组件的元数据。
当我尝试在模拟器上运行时,项目因异常而失败或键入BadImageFormatException
并显示以下消息:
尝试加载格式不正确的程序。 (HRESULT异常:0x8007000B)
当您尝试在.NET中混合CPU类型时,通常会弹出错误。
活跃平台是“混合平台”。在Configuration Manager中,它被配置为为“x86”构建MyApp
,为“Win32”构建AppLib
。在一个运行良好的vanilla新生成的项目中,配置是相同的。
问题 - 该配置有什么问题?我需要检查什么?
编辑:我在解决方案中添加了第二个空白C ++库 - TestLib
。这个加载并按预期工作。
EDIT2:从AppLib中的build中排除了所有内容 - 它有效。现在我将逐个添加行,看看哪一行导致了问题......
答案 0 :(得分:1)
完全是我的错。当我更改AppLib的命名空间(请参阅链接的问题)时,我在库中的MyApp
命名空间中留下了一个小声明。
该错误仍然具有误导性。我会删除这个问题,但是因为错误信息肯定会发送一个带有构建CPU类型和诸如此类的疯狂追逐的人,所以请保留它。
答案 1 :(得分:0)
在大多数情况下,不应该为ARM构建Windows Phone库吗?您是否有机会观看上周Windows Phone 8: Using C++ in your Applications会议的“//Build/”会话?这可能包括一些答案。