我使用C#和Visual Studio 2010开发了WindowsForm应用程序,我有外部DLL(使用VC ++编写)。当我将它部署到Windows 7时,一切正常。但是,在Windows 8.1上,它安装正常并运行正常,直到程序需要访问DLL内的库函数。它抱怨它无法找到DLL(即使文件与可执行文件位于同一位置)。
这只发生在Windows 8.1中(也许也适用于Windows 8)。
我是否错误地链接了DLL?
答案 0 :(得分:1)
假设您的DLL是Windows本机DLL,则会发生以下两种情况之一:
要检查,请尝试更改PATH环境变量以包含DLL所在的文件夹。如果程序运行,那么定位DLL就会出现问题。
如果这不起作用,那么您需要进行更深入的调查,以找出实际发生的情况。
有一个指南here,它向您展示如何使用Process Monitor确定您的程序正在发生什么,以找出实际无法加载的内容。这可能不是你的C ++ DLL,它可能是它的众多依赖项之一。
答案 1 :(得分:0)
答案是Harry Johnston上面的评论:
最有可能原因:Visual Studio 2010 Microsoft C运行时未安装在Windows 8.1计算机上。或者也许是C ++类库。与操作系统版本无关,可能是间接的。您可以使用Process Monitor诊断此类问题,查找未找到文件的错误。