请写一个简单的例子,有哪些需要设置的地方
DLL库是我自己写的在VB6.0下调用成功了,要移植到VB.NET下该怎么办?
看到网上说要将DLL添加引用。
右键点项目-->添加引用-->找到我的DLL点确定时,提示说:确保此文件可访问或是一个有效的程序集或COM组件。
怎么回事?
该怎么做?谢谢
5 个解决方案
#1
不是在这儿引用啦,右击工具箱,选择“选择项...”,单击“浏览”定位到你的.dll
#2
按1楼的方法做
错误:
在.NET Framework组件 选项卡中浏览
错误:......不是一个Microsoft.net模块
在COM组件 选项卡中浏览
错误:......未能加载类型库...... XX.tlb
错误:
在.NET Framework组件 选项卡中浏览
错误:......不是一个Microsoft.net模块
在COM组件 选项卡中浏览
错误:......未能加载类型库...... XX.tlb
#3
在VB6.0中做的.dll拿到.NET中使用肯定会有问题的,具体怎么自定义控件,也在学习中。能力有限,只能回答在哪儿引用的问题。
关注!
关注!
#4
我是在VC6.0中写的DLL
现在程序可以运行了,当调用DLL库中的函数时出现:
无法加载 DLL“ZLDS10X.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。
现在程序可以运行了,当调用DLL库中的函数时出现:
无法加载 DLL“ZLDS10X.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。
#5
我自己解决了!
把解决的步骤告诉大家,方便以后的人能快点解决问题
VB.NET中的代码:
Imports system
Module Module1
'申明DLL中的函数
Public Declare Function ZLDS10X_Open Lib "ZLDS10X.dll" (ByVal Comx As String, ByVal baudrate As Integer, ByVal timeout As Integer, ByVal netaddress As Integer) As Integer
End Module
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ahandle As Integer
'调用DLL中的函数
ahandle = ZLDS10X_Open("com7", 115200, 1000, 1)
End Sub
End Class
由于我刚刚涉及.NET,可能代码中有多余的东西。
不需要设置其他的东西。可以运行
运行过程中当执行到调用DLL中的函数ZLDS10X_Open时出现错误:
无法加载 DLL“ZLDS10X.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。
要将DLL库文件复制到项目的 Bin\Debug目录下,(如果你编译的是Relese,则要复制到Bin\Relese目录)
在运行出现错误:
…………PInvoke 签名与非托管的目标签名不匹配…………
调整函数中的变量类型,类型要与DLL库中的一致。
OK!完成啦
PS:同时谢谢回复我的几位弟兄。
把解决的步骤告诉大家,方便以后的人能快点解决问题
VB.NET中的代码:
Imports system
Module Module1
'申明DLL中的函数
Public Declare Function ZLDS10X_Open Lib "ZLDS10X.dll" (ByVal Comx As String, ByVal baudrate As Integer, ByVal timeout As Integer, ByVal netaddress As Integer) As Integer
End Module
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ahandle As Integer
'调用DLL中的函数
ahandle = ZLDS10X_Open("com7", 115200, 1000, 1)
End Sub
End Class
由于我刚刚涉及.NET,可能代码中有多余的东西。
不需要设置其他的东西。可以运行
运行过程中当执行到调用DLL中的函数ZLDS10X_Open时出现错误:
无法加载 DLL“ZLDS10X.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。
要将DLL库文件复制到项目的 Bin\Debug目录下,(如果你编译的是Relese,则要复制到Bin\Relese目录)
在运行出现错误:
…………PInvoke 签名与非托管的目标签名不匹配…………
调整函数中的变量类型,类型要与DLL库中的一致。
OK!完成啦
PS:同时谢谢回复我的几位弟兄。
#1
不是在这儿引用啦,右击工具箱,选择“选择项...”,单击“浏览”定位到你的.dll
#2
按1楼的方法做
错误:
在.NET Framework组件 选项卡中浏览
错误:......不是一个Microsoft.net模块
在COM组件 选项卡中浏览
错误:......未能加载类型库...... XX.tlb
错误:
在.NET Framework组件 选项卡中浏览
错误:......不是一个Microsoft.net模块
在COM组件 选项卡中浏览
错误:......未能加载类型库...... XX.tlb
#3
在VB6.0中做的.dll拿到.NET中使用肯定会有问题的,具体怎么自定义控件,也在学习中。能力有限,只能回答在哪儿引用的问题。
关注!
关注!
#4
我是在VC6.0中写的DLL
现在程序可以运行了,当调用DLL库中的函数时出现:
无法加载 DLL“ZLDS10X.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。
现在程序可以运行了,当调用DLL库中的函数时出现:
无法加载 DLL“ZLDS10X.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。
#5
我自己解决了!
把解决的步骤告诉大家,方便以后的人能快点解决问题
VB.NET中的代码:
Imports system
Module Module1
'申明DLL中的函数
Public Declare Function ZLDS10X_Open Lib "ZLDS10X.dll" (ByVal Comx As String, ByVal baudrate As Integer, ByVal timeout As Integer, ByVal netaddress As Integer) As Integer
End Module
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ahandle As Integer
'调用DLL中的函数
ahandle = ZLDS10X_Open("com7", 115200, 1000, 1)
End Sub
End Class
由于我刚刚涉及.NET,可能代码中有多余的东西。
不需要设置其他的东西。可以运行
运行过程中当执行到调用DLL中的函数ZLDS10X_Open时出现错误:
无法加载 DLL“ZLDS10X.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。
要将DLL库文件复制到项目的 Bin\Debug目录下,(如果你编译的是Relese,则要复制到Bin\Relese目录)
在运行出现错误:
…………PInvoke 签名与非托管的目标签名不匹配…………
调整函数中的变量类型,类型要与DLL库中的一致。
OK!完成啦
PS:同时谢谢回复我的几位弟兄。
把解决的步骤告诉大家,方便以后的人能快点解决问题
VB.NET中的代码:
Imports system
Module Module1
'申明DLL中的函数
Public Declare Function ZLDS10X_Open Lib "ZLDS10X.dll" (ByVal Comx As String, ByVal baudrate As Integer, ByVal timeout As Integer, ByVal netaddress As Integer) As Integer
End Module
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ahandle As Integer
'调用DLL中的函数
ahandle = ZLDS10X_Open("com7", 115200, 1000, 1)
End Sub
End Class
由于我刚刚涉及.NET,可能代码中有多余的东西。
不需要设置其他的东西。可以运行
运行过程中当执行到调用DLL中的函数ZLDS10X_Open时出现错误:
无法加载 DLL“ZLDS10X.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。
要将DLL库文件复制到项目的 Bin\Debug目录下,(如果你编译的是Relese,则要复制到Bin\Relese目录)
在运行出现错误:
…………PInvoke 签名与非托管的目标签名不匹配…………
调整函数中的变量类型,类型要与DLL库中的一致。
OK!完成啦
PS:同时谢谢回复我的几位弟兄。