Windows Embedded Standard 7 找不到我的 .dll
Posted
技术标签:
【中文标题】Windows Embedded Standard 7 找不到我的 .dll【英文标题】:Windows Embedded Standard 7 won't find my .dll 【发布时间】: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 只能在此文件夹中找到,它也开始发生 【参考方案1】:最后,我碰巧在目标机器上部署了一个DEBUG版本,没有msvcp100d.dll和msvcr100d.dll。我使用 Dependency Walker 来解决这个问题(显然,我很难查看项目属性页面下拉菜单)并在目标中部署了一个发布版本。它终于奏效了,但我有一个不同的问题导致另一个问题......
【讨论】:
以上是关于Windows Embedded Standard 7 找不到我的 .dll的主要内容,如果未能解决你的问题,请参考以下文章
什么是 Windows Embedded Standard 7
WIN7 嵌入式系统安装教程 Windows Embedded Standard 2011 安装
Windows Embedded Standard 7 (WES7)系统定制遇到的问题(摄像头,喇叭,无线wifi)
如何在 Windows Embedded 8 中自动启动非 Surface 应用程序?