2015-11-06 2 views
3

Я пытаюсь скомпилировать проект как приложение UWP для развертывания на малине Pi 2 с установленным IOT Windows 10.Использование ARM скомпилированной DLL в приложении Windows 10 IoT UWP на Raspberry Pi 2

Проект использует фреймворк с открытым исходным кодом, который поставляется с оберткой и DLL.

Я перекомпилировал DLL в ARM и поместил оболочку C# в свой проект.

Я добавил использование в MainPage.xaml.cs и использовал функции из обертки/библиотеки DLL.

Я скопировал скомпилированный DLL-файл в C: \ Users \ Public на RPi2, используя FTP, и используя ICACLS, установить DLL для всех.

Когда я запускаю мое приложение с помощью удаленного отладчика я получаю:

Дополнительная информация: Не удается загрузить DLL 'C: \ Users \ Public \ snap7.dll': отказано в доступе. (Исключение из HRESULT : 0x80070005 (E_ACCESSDENIED))

Это то, что я пытаюсь сделать с DLL файлов на Windows, IoT возможно?

+0

Помните, что оболочка C# должна быть скомпилирована как AnyCPU. – osexpert

+0

Использовал ли VS2015 Visual C++ шаблон «Пустой Windows IoT Core Console Application» и изменил тип конфигурации на Dynamic link library (.dll)? – osexpert

+0

Я столкнулся с той же проблемой. Мое решение состояло в том, чтобы добавить dll в исследовательский центр. set свойство dll: «скопировать в выходной каталог», чтобы «копировать, если новый», а затем, когда я вызываю DLL, я не получаю отказ в доступе к ошибкам. Однако вам нужно найти каталог развертывания. Mine была в «C: \ Data \ Users \ DefaultAccount \ AppData \ Local \ DevelopmentFiles \" –

ответ

1

Я думаю, вы идете по этому пути неправильно. Вам не нужно делать следующий шаг:

Я скопировал скомпилированный DLL-файл в C: \ Users \ Public на RPi2 с использованием FTP и с помощью ICACLS установил DLL для всех.

Просто добавление DLL к вашему проекту, как вы это делали, и установка его в «Копировать локальное = истинное» должно быть достаточно. При развертывании DLL автоматически копируется в папку bin.

+0

Когда я пытаюсь добавить скомпилированную DLL в проект Я получаю: «Невозможно добавить. Пожалуйста, убедитесь, что файл доступен, и это действительная сборка или COM-компонент». Я добавляю его в качестве ссылки, правильно ли это? – Nick

+0

Кроме того, DLL написана на C++, поэтому его нельзя добавлять напрямую в качестве ссылки в проект C# или VB. Есть ли способ обойти это. – Nick

+0

Вы можете найти способ импортировать неуправляемую dll C++ в ваше приложение UWP или создать управляемую оболочку вокруг вашей библиотеки C++, чтобы вы могли добавить ссылку в VS. В любом случае ему нужен новый вопрос. – vidalsasoon

1

Как правило, родные DLL не могут использоваться с приложениями UWP. Также внимательно изучите API, не реализованные в IoT-Core. Есть инструменты для этого.

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