我可以在VB.NET中制作一个可以在VB.NET中使用DllImport标签的DLL吗,就像我们从“ user32.dll”导入函数一样吗?

#1楼 票数:3 已采纳

不,你不能。

DllImport属性用于从托管代码调用本机/非托管函数-VB.Net是非本机托管的,因此您无法通过DllImport / P / Invoke运行VB.Net函数。

若要在其他VB.Net项目中使用VB.Net函数,则应添加对该程序集的引用,使用公共的引用接口或基类,或使用Reflection。

#2楼 票数:0

项目的结果,因此在编译和调试时,它们就是库。

  • 1:进入Visual Studio
  • 2:创建一个新项目->“类库”
  • 3:在您的课程中添加一些代码
  • 4:建造
  • 5:在Debug / Release文件夹中搜索您的DLL

  ask by Axe translate from so

未解决问题?本站智能推荐:

1回复

在VB.NET 2010中使用GetAsyncKeyState时发生PInvokeStackImbalance

我正在尝试使用以下代码在主窗体上跟踪Ctrl + Tab按键 但是,在调用属性CtrlPressed ,出现PInvokeStackImbalance错误。 我确定带有GetAsyncKeyState声明,并且已经导入了InteropServices但是CtrlPressed属性在语法
1回复

VB.net DLL从资源导入

我对此进行了大量研究,并获得了许多无法解决或无法正确实施的解决方案。 我有一个名为MyDLL.dll的DLL,它创建为用c ++编码的win32 dll。 在VB.net中,我可以通过以下方式从dll调用启动函数: 我需要的是这样的: Newby步骤会很好。
2回复

如何将DLL函数调用/ DllImport从vb6转换为C#.NET

VB6中的代码工作得非常好,我相信dll是为了提高速度而进行编码的,我正尝试通过C#或VB.NET移植它,无论我不介意..我尝试了许多不同的技巧都无济于事,调用方式应类似于通过偏移量传递的Array地址调用RltMoveMemory(CopyMemory)的方式。 VB6代码如下所示
1回复

vb.net:是否可以将FreeImage.dll导入到vb.net?

我需要从vb读取\\写入tga文件,我找到了TargaImage.dll,不错的库,但它只允许读取tga。 我找到了FreeImage,尝试将其导入vb,但是它说: FreeImage.dll could not be added. Please make sure that the fi
1回复

如何在vb.net中声明函数来调用c++ dll

我需要从 VB.NET 项目调用位于 C++ dll 中的函数。 C++ dll文档中的定义是: HRESULT GetStatus(LPBYTE lpSize, LPBYTE lpStatus, HWND hWnd = 0) lpSize数据: lpStatus大小 lpStatus :
2回复

将unicode字符串从VB.net传递到C ++ dll

我已经尝试了很多东西,但是我无法使它正常工作。 我可以向C ++传递和接收普通字符串(char *),但是在C ++中不能接收Unicode字符串( w_char_t * )。 这是C ++上的一些代码 在VB.net上 当我将w_char_t更改为char我收到正确的字
1回复

在VB.NET中调用C ++ DLL文件

我需要在VB.NET中使用C ++ DLL文件。 下面是DLL文件的转储 。 下面是在Visual Basic 6.0对象浏览器中显示的函数定义。 如何在VB.NET中调用此方法? 我尝试执行DLL导入: 但这给了我一个错误: 尝试读取或写入受保护的内存
2回复

c dll在vb6上正常工作但在vb.net上出错(试图读取或写入受保护的内存)

我有一个旧的vb6程序,我需要在vb.net上使用它 我一直试图解决这个问题,但无法修复它! 我有一个用于阅读的dll文件和旧的rfdi读卡器(RF20E,它被称为)我已经设法将它用于阅读卡,但是当涉及到扇区读取它失败了! 这是vb6的函数声明 这是vb6中的函数调用