【发布时间】:2016-04-28 18:53:24
【问题描述】:
几周前,我构建了一个本地 C++ .dll,它封装了一个第三方 .dll,以便在 WES7 中部署的几个应用程序中与 C# P/Invoke 一起使用。我一直在使用 Windows 10 作为开发盒,一切都按预期工作。本周我终于拿到了带有嵌入式 Windows 的盒子,但事情不再那么好了……我尝试部署三个不同的 C# 应用程序,这些应用程序使用我与第三方应用程序一起构建的 .dll,但它们都是失败并出现 DllNotFoundException。显然,这两个 .dll 文件与每个项目的可执行文件位于同一文件夹中,但我不断收到 DllNotFoundException。我的本机 .dll 针对 Win32 平台,嵌入式 Windows 是 32 位系统,而我所有的 C# 应用程序都是针对 x86 架构构建的,所以我已经排除了这种可能性。我浪费了最后一个小时来处理 system32 文件夹无济于事,所以我已经没有选择了。任何建议将不胜感激。
编辑:我刚刚与一位远程工作的同事交谈,他在尝试在 WES7 下运行我们的 .dll 时遇到了完全相同的问题。一旦我有更多信息,我会更新这个问题。
【问题讨论】:
-
会不会是找不到一些支持dll文件?可能不是您的 dll,但第 3 方需要一些?
-
除非第 3 方 .dll 使用桌面窗口中存在但在 WinCE 中不存在的其他 .dll,否则情况并非如此。尽管如此,我会调查一下
-
这是并行错误吗?听起来很像。
-
不,我不这么认为,即使我只有一个应用程序并且这些 .dll 只能在此文件夹中找到,它也开始发生
标签: c# c++ dll pinvoke windows-embedded-standard