0

几周前,我构建了一个本地 C++ .dll,它包装了一个第三方 .dll,以便在 WES7 中部署的几个应用程序中与 C# P/Invoke 一起使用。我一直在使用 Windows 10 作为开发盒,一切都按预期工作。本周我终于拿到了带有嵌入式 Windows 的盒子,但事情不再那么好了……我尝试部署三个不同的 C# 应用程序,这些应用程序使用我与第三方应用程序一起构建的 .dll,但它们都是失败并出现 DllNotFoundException。显然,这两个 .dll 文件与每个项目的可执行文件位于同一文件夹中,但我不断收到 DllNotFoundException。我的本机 .dll 针对 Win32 平台,嵌入式 Windows 是 32 位系统,而我所有的 C# 应用程序都是针对 x86 架构构建的,所以我已经排除了这一点。我' 我浪费了最后一个小时来搞乱 system32 文件夹无济于事,所以我已经没有选择了。任何建议将不胜感激。

编辑:我刚刚与一位远程工作的同事交谈,他在尝试在 WES7 下运行我们的 .dll 时遇到了完全相同的问题。一旦我有更多信息,我会更新这个问题。

4

1 回答 1

0

最后,我碰巧笨到在目标机器上部署了一个DEBUG版本,没有msvcp100d.dll和msvcr100d.dll。我使用 Dependency Walker 来解决这个问题(显然,我很难查看项目属性页面下拉菜单)并在目标中部署了一个发布版本。它终于奏效了,但我有一个不同的问题导致另一个问题......

于 2016-04-29T12:24:05.417 回答