176得票11回答
我该如何在运行时指定 [DllImport] 的路径?

实际上,我有一个可以工作的C++ DLL,我想将其导入到我的C#项目中以调用其函数。 当我指定DLL的完整路径时,它确实可以工作,像这样:string str = "C:\\Users\\userName\\AppData\\Local\\myLibFolder\\myDLL.dll"; [...

100得票4回答
有没有本地的DLL导出函数查看器?

有没有免费的本地Windows DLL导出函数查看器,可以显示函数名称和它们参数的列表?

92得票5回答
将非托管dll嵌入托管C# dll

我有一个托管的C# dll,它使用DLLImport使用未管理的C++ dll。一切都很顺利。 然而,我想按照Microsoft的说明将那个未管理的DLL嵌入到我的托管DLL中: http://msdn.microsoft.com/en-us/library/system.runtime.i...

82得票3回答
“DllImport("QCall")”是什么?

.Net库中的许多方法都是用本地代码实现的。来自框架自身的方法标有[MethodImpl(MethodImplOptions.InternalCall)]。来自某些非托管DLL的方法将使用[DllImport]标记(例如[DllImport("kernel32.dll")])。到目前为止,没有...

77得票10回答
在C# DllImport中使用32位或64位dll

这是情况,我在我的Dot.Net应用程序中使用一个基于C的dll。有两个dll,一个是名为MyDll32.dll的32位版本,另一个是名为MyDll64.dll的64位版本。 有一个静态变量持有DLL文件名:字符串DLL_FILE_NAME。 它被以下方式使用:[DllImport(DLL...

59得票2回答
如何在C#中使用[DllImport("")]?

我发现有很多关于它的问题,但没有人解释如何使用它。 我有这个: using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using Sy...

58得票4回答
在.NET中指定DllImport的搜索路径

是否有一种方法可以指定要搜索的路径,以便于使用DllImport导入的程序集?[DllImport("MyDll.dll")] static extern void Func(); 这将在应用程序目录和路径环境变量中搜索dll。 但是有时候dll会被放在其他地方。 是否可以在app.confi...

45得票2回答
为什么/何时不需要使用 __declspec( dllimport )?

在一个使用 server.dll 和 client.exe 的项目中,我从 server dll 中使用了 dllexport 导出了一个 server 符号,并且没有将其用 dllimport 导入到 client exe 中。 尽管如此,该应用程序链接并启动时都没有出现任何问题。因此,d...

43得票7回答
从C++调用DLL中的函数

我有一个在VS 2008中的解决方案,其中包含两个项目。一个是用C++编写的DLL,另一个是从空白项目创建的简单C++控制台应用程序。我想知道如何从应用程序中调用DLL中的函数。 假设我从一个空白的C++项目开始,并且我想调用一个名为int IsolatedFunction(int some...

40得票5回答
PInvokeStackImbalance C#调用非托管C++函数

切换到VS2010后,托管调试助手显示从C#应用程序调用未托管的C++函数时出现了栈不平衡的错误提示。已检查了通常会引起问题的原因,是否还有其他需要检查的地方?与VS2008构建的C++ dll和C#应用程序相比,没有出现过问题,没有奇怪或神秘的错误-是的,我知道这并不意味着太多。已经检查了以...