【发布时间】:2016-02-07 21:45:16
【问题描述】:
我正在尝试将项目编译为 UWP 应用程序,以便在安装了 Windows 10 IoT 的 Raspberry Pi 2 上进行部署。
该项目使用带有包装器和 DLL 的开源框架。
我已将 DLL 重新编译为 ARM 并将 C# 包装器放入我的项目中。
我已将 using 添加到 MainPage.xaml.cs 并使用了包装器/DLL 中的函数。
我使用 FTP 将编译后的 DLL 文件复制到 RPi2 上的 C:\Users\Public 并使用 ICACLS 将 DLL 设置为可供所有人访问。
当我通过远程调试器运行我的应用程序时,我得到:
附加信息:无法加载 DLL 'C:\Users\Public\snap7.dll':访问被拒绝。 (例外来自 HRESULT: 0x80070005 (E_ACCESSDENIED))
我尝试在 Windows IoT 上对 DLL 文件执行的操作是否可行?
【问题讨论】:
-
请记住,C# 包装器必须编译为 AnyCPU。
-
您是否使用了VS2015 Visual C++“Blank Windows IoT Core Console Application”模板并将配置类型更改为动态链接库(.dll)?
-
我遇到了完全相同的问题。我的解决方案是将 dll 添加到解决方案资源管理器中。设置 dll 的属性:“复制到输出目录”到“如果更新则复制”然后当我调用 dll 时,我不会收到拒绝访问错误。您必须找到部署目录。我的在“C:\Data\Users\DefaultAccount\AppData\Local\DevelopmentFiles\”中
-
应用程序还需要对您将使用 DLL 调用的任何设备/文件的权限
标签: uwp raspberry-pi2 windows-10-iot-core