Это довольно старый вопрос, но из-за отсутствия недавних статей он не смог продвинуться дальше. Я пытаюсь создать плагин windows для вызова в ioni c 4. Поэтому я создал компонент windows времени выполнения, используя cpp, и упакован как плагин Cordova, т. Е. Set mapping b / w js и windows компонент времени выполнения, как показано ниже.
<?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android" id="xx-win" version="0.0.1">
<name>xx-win</name>
<js-module name="xx-win" src="www/xx-win.js">
<clobbers target="cordova.plugins.xx-win" />
</js-module>
<platform name="windows">
<js-module name="xx-win-proxy" src="src/windows/xx-win-proxy.js">
<runs target="" />
</js-module>
<framework src="src/windows/WinRT_CPP.winmd" implementation="src/windows/WinRT_CPP.dll" arch="x86" custom="true"/>
</platform>
</plugin>
Я пытаюсь собрать платформу для windows с помощью команды "ioni c cordova build windows". Но это заканчивается приведенной ниже ошибкой.
package.windows10.appxmanifest : error APPX0703: Manifest references file 'WinRT_CPP.dll' which is not part of the payload. [C:\Users\212781400\Work\winp
lugin\platforms\windows\CordovaApp.Windows10.jsproj]
No valid MSBuild was detected for the selected target: Error: C:\Program Files (x86)\MSBuild\14.0\bin\msbuild: Command failed with exit code 1
Ниже мой пакет. windows10 .appxmanifest.
<?xml version='1.0' encoding='utf-8'?>
<Package IgnorableNamespaces="uap mp" xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10">
<Identity Name="12225TOTO42.3355241V9C2T6" Publisher="CN=$username$" Version="0.0.1.0" />
<mp:PhoneIdentity PhoneProductId="842ac150-38fc-11ea-9ff6-9bfe2d6e1536" PhonePublisherId="00000000-0000-0000-0000-000000000000" />
<Properties>
<DisplayName>winplugin</DisplayName>
<PublisherDisplayName>CN=9985D2C8-IUI5-4272-TOTO-EBR6FE26877A</PublisherDisplayName>
<Logo>images\StoreLogo.png</Logo>
<Description>A sample Apache Cordova application that responds to the deviceready event.</Description>
</Properties>
<Dependencies>
<TargetDeviceFamily MaxVersionTested="10.0.10240.0" MinVersion="10.0.10240.0" Name="Windows.Universal" />
</Dependencies>
<Resources>
<Resource Language="x-generate" />
</Resources>
<Applications>
<Application Id="io.ionic.starter" StartPage="ms-appx-web://12225toto42.3355241v9c2t6/www/index.html">
<uap:VisualElements BackgroundColor="#464646" Description="A sample Apache Cordova application that responds to the deviceready event." DisplayName="winplugin" Square150x150Logo="images\Square150x150Logo.png" Square44x44Logo="images\Square44x44Logo.png">
<uap:SplashScreen Image="images\splashscreen.png" />
<uap:DefaultTile ShortName="winplugin" Square310x310Logo="images\Square310x310Logo.png" Square71x71Logo="images\Square71x71Logo.png" Wide310x150Logo="images\Wide310x150Logo.png" />
<uap:InitialRotationPreference>
<uap:Rotation Preference="portrait" />
<uap:Rotation Preference="landscape" />
<uap:Rotation Preference="landscapeFlipped" />
</uap:InitialRotationPreference>
</uap:VisualElements>
<uap:ApplicationContentUriRules>
<uap:Rule Match="ms-appx-web:///" Type="include" WindowsRuntimeAccess="all" />
</uap:ApplicationContentUriRules>
</Application>
</Applications>
<Capabilities>
<Capability Name="internetClient" />
</Capabilities>
<Extensions>
<Extension Category="windows.activatableClass.inProcessServer">
<InProcessServer>
<Path>WinRT_CPP.dll</Path>
<ActivatableClass ActivatableClassId="WinRT_CPP.Class1" ThreadingModel="both" />
</InProcessServer>
</Extension>
</Extensions>
</Package>
Файл WinRT_ CPP .dll присутствует в тот же каталог, где находится файл package. windows10 .appxmanifest. Я пытался установить абсолютный и относительный путь, но ошибка все та же.
Я считаю, что я на грани удовлетворения своих потребностей, но что-то меньшее останавливает. Пожалуйста, дайте несколько указателей.