我的ClickOnce部署应用程序遇到问题,因为它无法识别特定的C ++第三方dll。
我已将解决方案中的dll添加为“内容”,“始终复制”,并且 进行编译并放在已安装的文件夹中(%LocalAppData%/ Apps / 等... )。在Win7操作系统上的计算机上,已调试和已发布的应用程序都正确并成功查看并导入项目根文件夹中的dll。
[DllImport("POS.dll", CallingConvention = CallingConvention.Winapi)]
public static extern int ClosePort();
但是,当我将应用程序部署到运行Windows 8安装的另一台计算机时,它无法识别与已部署应用程序的可执行文件位于同一文件夹中的dll文件。即使我在硬盘根目录上的文件夹上设置了绝对路径dll,并手动将dll复制到指定的文件夹,它仍然会抛出DllNotFoundException。
[DllImport("C:\\NewFolder\\POS.dll", CallingConvention = CallingConvention.Winapi)]
public static extern int ClosePort();
我还没有机会在Windows 10机器上测试它,但我怀疑它可能是一个许可问题。有人可以在这里说清楚吗?