我构建了一个 WinRT 组件 (.winmd) 供 JavaScript 和 XAML Windows Store 应用程序使用。在 JavaScript 客户端中包含和引用松散的 .winmd 文件输出时,我看到此构建警告:
Microsoft.AppXPackage.Targets(808,9):警告 APPX1707:没有为 .winmd 文件“myRuntimeComponent.winmd”提供实现文件。要在应用清单中生成注册信息,请在项目文件中的 .winmd 引用项上指定“实施”元数据。
我找不到有关此错误或如何包含实现元数据的任何文档。
运行 JavaScript 客户端时,调用从 .winmd 导出的类方法时会引发此异常:
0x80040154 - JavaScript 运行时错误:未注册类
请注意,我在客户端应用程序项目中引用松散的 .winmd 文件,而不是引用构建 .winmd 的 Visual Studio 项目。我的用例是分发 .winmd 输出,而不是 .winmd 组件的完整源代码 - 源代码分发不是一种选择。
另请注意,当 Windows 运行时组件被引用为项目引用时,JavaScript 客户端会正确构建和运行。C# XAML 客户端使用项目引用或对松散 .winmd 的引用正确运行。
当引用松散的 .winmd 时,似乎在客户端应用程序构建中没有生成一些注册信息。
如何构建和分发松散的 Windows 运行时组件以供 JavaScript 和托管客户端使用?