适用于Windows 8的Native插件使用Cordova

时间:2015-04-13 09:32:52

标签: javascript c# cordova windows-8 windows-runtime

我正在使用cordova创建一个windows8插件,但我希望将我的插件与.winmd一起构建为本机构建,以便通过Winjs调用c#中该库的函数。我已经将引用和代码添加到插件文件夹以及项目中。但它仍然会抛出错误WinRt错误:类不是注册/ JavaScript错误:类未定义。

我在WP中创建相同的插件但是在使用具有本机功能的cordova winjs的windows8插件开发中存在问题。请帮助解决此问题,提供一些示例,链接等。

1 个答案:

答案 0 :(得分:0)

更新:

似乎要使用当前的VS Tools for Cordova版本从Cordova项目引用WinRT组件,您需要按照此处的说明进行操作:

https://msopentech.com/blog/2014/11/24/using-windows-runtime-component-with-cordova-project/

特别是,第1节描述了如何通知Cordova构建工具有关WinRT组件的信息,以便它可以在AppX清单中引用它/它们,并在输出包中包含组件二进制文件。


早先的说明:

您是否需要将其实际编写为Cordova插件? Windows JS应用程序支持非常简单的自定义WinRT组件集成,可以用C ++或C#编写。您只需在解决方案中创建一个新的Windows运行时组件项目,使用要公开的方法/属性定义公共密封类,然后将JS应用程序项目中的引用添加到WinRT组件(右键单击References,选择Add Reference,然后选择组件项目。

也就是说,要注意包含C#组件的性能影响(特别是如果你需要在启动期间加载它)以及加载CLR和所有.NET依赖项的内存使用含义。还要记住,C#不是“本机”,所以如果你这样做它不是真正的“本机插件”: - )

如果你描述你的目标,你也可能得到更好的建议(即你需要本地插件来实际运行JS性能限制 - 这是一个相当特殊的情况)。