3

这是对此的跟进。

Windows Phone 8 C# 项目 (MyApp),从 WP7.1 迁移而来。我已将本机 Windows 运行时组件库 (AppLib) 添加到解决方案中,并创建了一个参考。其中有一个公共密封的参考类(MyClass)。OnLoaded在 C# 代码(在XAML 主页面中)中有对它的引用。整个事情都在构建 - 意味着正在生成组件的元数据。

当我尝试在模拟器上运行时,项目失败并出现异常或键入BadImageFormatException以下消息:

试图加载格式不正确的程序。(来自 HRESULT 的异常:0x8007000B)

当您尝试在 .NET 中混合 CPU 类型时,通常会弹出该错误。

活跃平台是“混合平台”。在配置管理器中,它被配置为MyApp为“x86”和AppLib“Win32”构建。在一个运行良好的新生成的香草项目中,配置是相同的。

问题 - 该配置有什么问题?我需要检查什么?

编辑:我在解决方案中添加了第二个空白 C++ 库 - TestLib. 这个加载并按预期工作。

EDIT2:从 AppLib 中的构建中排除了所有内容 - 它可以工作。现在我将一一添加行,看看是哪一行导致了问题...

4

2 回答 2

1

完全是我的错。当我更改 AppLib 的命名空间时(请参阅链接的问题),我在MyApp命名空间中的库中留下了一个小声明。

该错误仍然具有误导性。我会删除这个问题,但是由于错误消息肯定会让某人在构建 CPU 类型和诸如此类的情况下进行疯狂追逐,所以让它保留。

于 2012-11-06T18:45:18.907 回答
0

在大多数情况下,不应该为 ARM 构建 Windows Phone 库吗?您是否有机会观看上周//Build/会议的“ Windows Phone 8:在您的应用程序中使用 C++ ”会议?这可能包括一些答案。

于 2012-11-06T15:36:52.743 回答