[ 
https://issues.apache.org/jira/browse/CB-11825?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15502877#comment-15502877
 ] 

Szabolcs Kubovics commented on CB-11825:
----------------------------------------

Removing the "versions" attribute from the "resource-file" tag in the 
plugin.xml file solved the issue.
The reference files are not copied to the platforms\Windows\plugins directory 
but the .projitems file contains links for the .dll files in the Cordova 
project directory.

> 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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org

Reply via email to