2015-09-16 3 views
5

Возможно ли написать плагин Cordova для Windows (8.1/10) на C#? В качестве альтернативы, может ли компонент библиотеки, написанный на C#, быть завершен как плагин Cordova? Если я ничего не пропустил, MSDN и Apache документация покажет только, как использовать C# для Windows Phone 8 (ожидается, что реализация JS ожидается для «Windows Universal»)Разработка плагинов Cordova в C# для Windows 8.1/Windows 10

+0

В этом руководстве объясняется, как создать плагин для Windows Phone 8 и Windows Universal: https://taco.visualstudio.com/en-us/docs/create-plugin-windows-phone/ – andreszs

ответ

0

Да, вы можете и один вариант реализации оболочки 10-й версии уже доступен в github. Вот ссылка .. Вся необходимая документация также доступна ..

Cordova-Windows

1

Да, но есть некоторые требования. Во-первых, ваша библиотека должна быть проектом Windows Runtime Component. Вы можете ссылаться на winmd или csproj в своем плагине (см. https://cordova.apache.org/docs/fr/latest/guide/platforms/win8/plugin.html). Если ваш плагин корректно и правильно загружен в ваше приложение во время выполнения, вы можете напрямую использовать свои классы C# в JavaScript (это просто WinJS). Это ваша ответственность, чтобы выставить оболочку JavaScript вашей библиотеки C# в плагине, но это не обязательно (просто для максимизации совместного использования кода с другими реализациями платформ вашего плагина).

+0

Вы пытались построить такой проект в режиме выпуска? В настоящее время у меня возникают проблемы при создании пакетов приложений, потому что, насколько я понимаю, мне нужно использовать .net native, и это не дает хороших результатов. Он просто не упаковывает необходимые DLL-файлы в .appx. – stipe

+0

Да, мне просто нужно создать пакет по одному для каждой конкретной архитектуры (x86, x64, ARM), потому что мой компонент Windows Runtime был написан на C++: пакеты не работали для моего проекта. Любой режим CPU не является вариантом в вашем случае, если вы хотите, чтобы родной .NET. Но для стандартного плагина C# Cordova родной .NET не требуется, и вы можете создать только один пакет (с любым режимом ЦП) –

+0

Если я создаю без основной компиляции .NET, то Store жалуется на неподдерживаемые API, например «API OpenSemaphore в api-ms-win-core-synch-l1-1-0.dll не поддерживается для этого типа приложения. System.Threading.dll вызывает этот API ». Это странная вещь, я не уверен, что этот случай использования даже охвачен процессом подачи в магазин. Тем не менее, я работал над этой проблемой, внедряя все в JS и не имея дело с компонентом Windows Runtime Component, .NET native и .dlls. – stipe

Смежные вопросы