Dll导入路径。如何获取位于其他文件夹中的dll路径

时间:2011-11-29 20:04:30

标签: c# winforms

我的Project1在这里 \ PROJECT1 \ BIN \调试\ application.exe 而我的dll在 \ PROJECT1 \调试\ 3rdparty.dll

如何在我的代码中获取包含此dll的路径?

[DllImport("????????/3rdparty.dll")]

我应该在问号上写什么(?????) 我的解决方案包括其他c ++项目。所以每当我编译c ++项目时,它都会刷新project1 \ Debug中的dll(有些我不熟悉c ++) 我需要在DllImport [Path]中使用该dll。 如果我试图添加引用,它会给我错误。 这可能是一个非常简单的问题,但由于某些原因我无法解决它。

Hans Pasant在评论部分提供的答案:

将C ++项目中的输出目录设置更改为$(SolutionDir)bin \ $(ConfigurationName),以便本机DLL最终与托管程序位于同一文件夹中。只需在C#代码中使用[DllImport(“3rdparty.dll”)]。 - 汉斯帕斯特

1 个答案:

答案 0 :(得分:1)

  1. 在“解决方案资源管理器”中,右键单击“参考”。
  2. 点击“添加参考”。
  3. 选择“浏览”标签,然后选择您的3rdparty.dll。
  4. 添加后,右键单击“References”下的3rdparty.dll并将“Copy Local”更改为true。
  5. 然后只需像正常[DllImport("3rdparty.dll")]
  6. 一样指定您的DllImport

    这只适用于.NET程序集。由于您看起来使用的是C ++ DLL,因此需要查看Using C++ Class DLL in C# Application