这是 this 的跟进.
Windows Phone 8 C# 项目 (MyApp),从 WP7.1 迁移而来。我已将 native Windows 运行时组件库 (AppLib) 添加到解决方案,创建了一个引用。其中有一个公开密封的 ref 类 (MyClass)。 C# 代码中有对它的引用(在主 XAML 页面的 OnLoaded
中)。整个构建 - 意味着正在生成组件的元数据。
当我尝试在模拟器上运行时,项目失败并出现异常或键入 BadImageFormatException
并显示以下消息:
An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
当您尝试在 .NET 中混合 CPU 类型时,通常会弹出错误。
事件平台是“混合平台”。在配置管理器中,它被配置为为“x86”构建MyApp
,为“Win32”构建AppLib
。在运行良好的新生成的 Vanilla 项目中,配置是相同的。
问题 - 该配置有什么问题?我需要检查什么?
编辑:我在解决方案中添加了第二个空白 C++ 库 - TestLib
。这一个加载并按预期工作。
EDIT2:从 AppLib 中的构建中排除所有内容 - 它有效。现在我将一行一行地添加行,看看是哪一行导致了问题...
最佳答案
完全是我的错。当我更改 AppLib 的命名空间时(请参阅链接的问题),我在库中的 MyApp
命名空间中留下了一个小声明。
错误仍然具有误导性。我会删除这个问题,但由于错误消息肯定会让某人对构建 CPU 类型和诸如此类的问题大发雷霆,所以让它保留下来。
关于windows-runtime - 无法加载 native DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13253705/