Можем ли мы использовать целевой минимум Windows SDK версии 10.16299.0 в приложении Cordova Universal для Windows и компоненте среды выполнения Windows? - PullRequest
0 голосов
/ 24 апреля 2019

Я использую Visual Studio 17 для создания Windows-приложения Cordova, имеющего плагин uwp. Этот плагин ссылается на компонент среды выполнения Windows (этот тип выходного файла компонента .winmd).

Когда я устанавливаю минимальное значение Windows target sdk равным 10.16299.0, тогда я не могу создать объект класса, который находится в Компоненте времени выполнения Windows (который находится в файле winmd и ссылается на некоторые dll (.net core 2.0))но когда я понижаю минимальный целевой уровень Windows SDK до 10.15063.0 или ниже, проблема решается.

Требуется, чтобы я использовал Windows SDK v10.16299.0 в качестве минимальной версии и v10.17763.0 в качестве макс.цель.Могу ли я сделать это?PLease help ..

This is my cordova plugin's plugin.xml
 <?xml version='1.0' encoding='utf-8'?>
<plugin id="cordova-plugin-uwp" version="0.0.1" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
  <name>Uwp</name>
  <js-module name="Uwp" src="www/Uwp.js">
    <clobbers target="cordova.plugins.uwp" />
  </js-module>
  <platform name="windows">
    <js-module name="UwpProxy" src="src/windows/UwpProxy.js">
      <merges target="" />
    </js-module>

    <resource-file src="src/windows/libs/Component.dll" target="Component.dll" device-target="windows"  reference="true" />
    <resource-file src="src/windows/libs/SmartThreadPool.NetCore.dll" target="SmartThreadPool.NetCore.dll" device-target="windows"  reference="true" />

     <framework src="src/windows/libs/CCRuntimeComponent.winmd"  custom="true" implementation="src/windows/libs/Component.dll"/>
  </platform>
</plugin>
In UwpProxy.js I am trying to create an object of the winrt class

        this.setUwpWinRT(CCRuntimeComponent.UwpWinRT.instance);//(with 15063 its created but not with 16299)

        if (this.getUwpWinRT() != null || this.getUwpWinRT() != undefined) {
            if (this.getUwpWinRT().getJsCallback() == null || this.getUwpWinRT().getJsCallback() == undefined)
                this.getUwpWinRT().setJsCallback(this.messageCallback.bind(this));
            else throw new Error("Unable to set WinRT callback.");

            if (options != null || options != undefined) {
                this.setUiCallback(options[0].callback);
            }
        }
    }

это ошибка, которая выдается каждый раз, когда я устанавливаю минимальную цель v10.16299.0

0x80131040 - JavaScript runtime error: Unknown runtime error occurred

WinRTError: Unknown runtime error
   at UwpProxy.prototype.init (ms-appx-web://io.cordova.myapp5447c6/www/plugins/cordova-plugin-uwp/src/windows/UwpProxy.js:55:9)
   at startConnection (ms-appx-web://io.cordova.myapp5447c6/www/plugins/cordova-plugin-uwp/src/windows/UwpProxy.js:100:13)
   at Anonymous function (ms-appx-web://io.cordova.myapp5447c6/www/plugins/cordova-plugin-uwp/src/windows/UwpProxy.js:107:17)
   at notifySuccess (ms-appx-web://io.cordova.myapp5447c6/www/WinJS/js/base.js:2110:21)
   at state_success_notify.enter (ms-appx-web://io.cordova.myapp5447c6/www/WinJS/js/base.js:1792:21)
   at _run (ms-appx-web://io.cordova.myapp5447c6/www/WinJS/js/base.js:2008:17)
   at _completed (ms-appx-web://io.cordova.myapp5447c6/www/WinJS/js/base.js:1976:13)

ОБНОВЛЕНИЕ -----

Я прошел через проблему снова и обнаружил, что проблема в компоненте среды выполнения Windows, который не поддерживает 16299 версию Windows SDK.Всякий раз, когда я использовал v15063, я мог создавать экземпляры компонента времени выполнения Windows в файле javascript, но с v16299 не мог даже вызывать статическую функцию.

Есть ли какое-либо решение для этой конкретной проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...