日期:2014-05-18  浏览次数:20747 次

C#调用dll文件
小的评价器,里面带的测试软件是用VB写的,调用一个dll文件;
现在想用C#做个程序,调用dll的函数,在引用里添加引用时提示:未能添加对……的引用。请确保此文件可以访问并且是一个有效地程序集或COM组件。
现在怎么可以实现功能呢
谢谢!!

------解决方案--------------------
那个是非托管dll吧,引用只能引用托管dll,非托管的类似如下

C# code


        [DllImport("user32.dll")]
        public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);

------解决方案--------------------
C#中dllimport可以引用C++编写的非托管dll,但是vb的好像不可以.
------解决方案--------------------
命名空间引用:using System.Runtime.InteropServices;

然后生明引用的方法,举例:
[DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
------解决方案--------------------
C#项目引用VB的dll,
在项目上,右键,点击"添加引用",选择"COM",选择Vb的dll类库。