You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Vladimir Kotikov (JIRA)" <ji...@apache.org> on 2016/10/14 06:39:21 UTC

[jira] [Closed] (CB-11825) Windows dll file won't be copied as resource while adding custom plugin to a UWP project

     [ https://issues.apache.org/jira/browse/CB-11825?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vladimir Kotikov closed CB-11825.
---------------------------------
    Resolution: Fixed

> Windows dll file won't be copied as resource while adding custom plugin to a UWP project
> ----------------------------------------------------------------------------------------
>
>                 Key: CB-11825
>                 URL: https://issues.apache.org/jira/browse/CB-11825
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Plugins, Windows
>    Affects Versions: 6.3.1
>         Environment: Windows10 UWP projects
>            Reporter: Szabolcs Kubovics
>            Priority: Critical
>             Fix For: 6.3.2
>
>
> I have created a custom plugin which uses a Windows Runtime Component (e.g. "foo.winmd") file. In this winmd I have a referenced library class (e.g. "bar.dll").
> My plugin.xml looks like:
> <platform name="windows">
>   ...  
>   <resource-file src="windows/windows10/bin/SayHelloLib.dll" target="plugins/com.plugin.test.myPlugin/SayHelloLib.dll" versions="&lt;=0.0"/>
>   <framework src="windows/windows10/bin/Plugin.Test.winmd"/>
> </platform>
> With Cordova 6.2.0 the resource file will be copied to the target place and if I add the plugin to a cordova project the winmd file will find it.
> With Cordova 6.3.1 the mentioned dll file won't be copied and I get FileNotFoundException (because it is not there).
> "Exception calling native with command :: SayHelloToName :: sayHello ::exception=WinRTError: The system cannot find the file specified.
> System.IO.FileNotFoundException: Could not load file or assembly 'SayHelloLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
>    at Plugin.Test.TestPlugin.getName(String name)
> cordova.js (993,13)"
> I created a test package to easily reproduce this scenario. The test application can be downloaded from the external issue URL.
> - SayHelloLib: the library which is referred in the winmd (output of PluginProject solution)
> - PluginProject: contains the plugin proxy and the dll resource as cross referenced project (just for convenience)
> - MyPlugin: the custom plugin, contains the plugin .js and .xml files and windows specific resources from PluginProject solution
> - www: the index.html, it has to be copied to the www folder of the newly created Cordova project
> Repro steps:
> 1) build PluginProject project on x64 platform
> 2) copy built files:
> 	PluginProject\MyTestPlugin\windows\src\myPlugin_proxy.js -> MyPlugin\windows\src
> 	PluginProject\Plugin.Test\Plugin.Test.UWP\bin\x64\Debug\Plugin.Test.winmd -> MyPlugin\windows\windows10\bin 
> 	PluginProject\Plugin.Test\Plugin.Test.UWP\bin\x64\Debug\SayHelloLib.dll -> MyPlugin\windows\windows10\bin 
> 3) cordova create Cordova631 cordova631.test.plugin Cordova631
> 4) cd Cordova631
> 5) cordova platform add windows
> 6) cordova plugin add com.plugin.test.myPlugin --searchpath <path_to_MyPlugin_folder>
> 7) copy file:
> 	www\index.html -> Cordova631\platforms\windows\www
> 8) build the CordovaApp.sln on x64 platform
> 9) start the application
> 10) write something in the "Name" textbox
> 11) click "Say hello" button



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org