如何链接到外部DLL以便Windows 8.1识别它?

时间:2017-09-21 02:13:24

标签: c# visual-studio-2010 dll windows-8.1

我使用C#和Visual Studio 2010开发了WindowsForm应用程序,我有外部DLL(使用VC ++编写)。当我将它部署到Windows 7时,一切正常。但是,在Windows 8.1上,它安装正常并运行正常,直到程序需要访问DLL内的库函数。它抱怨它无法找到DLL(即使文件与可执行文件位于同一位置)。

这只发生在Windows 8.1中(也许也适用于Windows 8)。

我是否错误地链接了DLL?

2 个答案:

答案 0 :(得分:1)

假设您的DLL是Windows本机DLL,则会发生以下两种情况之一:

  1. Windows无法找到DLL
  2. DLL具有机器上没有的其他依赖项
  3. 要检查,请尝试更改PATH环境变量以包含DLL所在的文件夹。如果程序运行,那么定位DLL就会出现问题。

    如果这不起作用,那么您需要进行更深入的调查,以找出实际发生的情况。

    有一个指南here,它向您展示如何使用Process Monitor确定您的程序正在发生什么,以找出实际无法加载的内容。这可能不是你的C ++ DLL,它可能是它的众多依赖项之一。

答案 1 :(得分:0)

答案是Harry Johnston上面的评论:

  

最有可能原因:Visual Studio 2010 Microsoft C运行时未安装在Windows 8.1计算机上。或者也许是C ++类库。与操作系统版本无关,可能是间接的。您可以使用Process Monitor诊断此类问题,查找未找到文件的错误。