Javascript 使用Cordova的Windows 8本机插件

Javascript 使用Cordova的Windows 8本机插件,javascript,c#,cordova,windows-8,windows-runtime,Javascript,C#,Cordova,Windows 8,Windows Runtime,我在cordova中创建了一个windows8插件,但我想用我的插件与.winmd一样进行集成,以便通过Winjs调用c中的库函数。我已经将引用和代码添加到插件文件夹和项目中。但它仍然抛出一个错误WinRt error:class不是register/JavaScript error:class-in-not-defined 我在WP中创建了相同的插件,但在使用cordova winjs和本机功能开发windows8插件时出现了问题。请帮助解决此问题,提供一些示例、链接等。更新: 似乎要使用Co

我在cordova中创建了一个windows8插件,但我想用我的插件与.winmd一样进行集成,以便通过Winjs调用c中的库函数。我已经将引用和代码添加到插件文件夹和项目中。但它仍然抛出一个错误WinRt error:class不是register/JavaScript error:class-in-not-defined

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

更新:

似乎要使用Cordova发行版的当前VS工具引用Cordova项目中的WinRT组件,您需要遵循以下说明:

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

早期注释:

你真的需要把它写成Cordova插件吗?Windows JS应用程序支持真正的自定义WINRTR组件的集成,这些组件可以用C++或C编写,只需在解决方案中创建一个新的Windows运行时组件项目,用您想要公开的方法/属性定义一个公共密封类,然后将JS应用程序项目中的引用添加到WinRT组件右键单击引用,选择添加引用,然后选择组件项目

也就是说,要小心包含C组件的性能影响,特别是在启动期间需要加载C组件的情况下,以及加载CLR和所有.NET依赖项的内存使用影响。还请记住,C不是本机插件,因此如果您这样做,它就不是真正的本机插件:-


如果你描述了你的目标,你可能会得到更好的建议,例如,你需要一个本机插件,因为你实际上在运行JS性能限制,这是一个相当特殊的情况。

正如你建议我的,我已经做了同样的事。但问题依然存在。Cordova插件不允许我们添加对另一个c代码的引用。即使在创建对象时,类的错误也未定义。您是否使用用于Cordova的Visual Studio工具?这是VS 2013还是2015 RC?看起来,使用当前的Cordova工具,您需要按照以下说明告诉Cordova构建系统包含WinMD/DLL,并在AppX清单中正确引用它。我正在为Cordova 2013使用Visual Studio工具。您发布的链接与我之前的链接相同。Each&一切正常,但是当创建winmd文件的对象时,它会抛出未定义的错误。