2

我正在使用 VS 2008 开发一个使用 .dll 和 P/Invoke 的应用程序。当我使用绝对路径时,我可以成功使用 dll。例如,这确实有效:

[DllImport("C:\\myDLL.dll")] internal static extern bool isReady();

这不起作用:

[DllImport("myDLL.dll")] 内部静态 extern bool isReady();

我尝试添加一个参考文件夹并将 dll 添加到项目文件夹中,但都不起作用。我需要将此应用程序部署在其他计算机上,并且需要确保包含此 .dll。谢谢您的帮助!


当我尝试这样做时,我忘了提及我收到此错误:

Microsoft Visual Studio 无法添加对“C:\Users\dlugokja\Documents\Visual Studio 2008\Projects\DinamapN.sln(1)\DinamapN\DinamapN\DinaWin.dll”的引用。请确保该文件是可访问的,并且它是一个有效的程序集或 COM 组件。好的

4

2 回答 2

4

我们在工作中使用的解决方案如下:

  1. 将 DLL 添加到您的项目中
  2. 将 DLL 的属性编辑为“内容”和“始终复制”
  3. 在您的 P/Invoke 语句中将 DLL 引用为 @"mydll.dll"
于 2009-01-23T19:41:28.717 回答
-2

为什么不直接右键单击项目文件,“添加引用”并浏览到 dll?

于 2009-01-23T19:20:01.180 回答