知道在C#.net中,如何调用vfp生成的dll吗?由于有一些老的DBF文件,用C#的ADO.NET调用实在太慢了,因此准备用VFP9生成一些查询的DLL文件由C#调用。
但是发现在本机上能够调用的DLL,但在客户机上死活不行,即使我把VFP的运行库拷贝到客户机,以及把DLL文件在注册表中进行注册,也不行,所以请教各位。
举个例子说明:
1. 用VFP9生成一个简单的myfox.dllDEFINE CLASS vfptools as Session   OLEPUBLIC 
PROCEDURE add0 as Integer 
RETURN 7
ENDPROC 

ENDDEFINE
2。生成DLL文件3。在C# 生成文件test.exe,在文件中调用上面生成的DLL
using System;
using myfox;//引用,并使用命名空间namespace CA2
{
    class Program
    {
        static void Main(string[] args)
        {
try{
            Console.WriteLine("Begin ");
//开始
            myfox.vfptoolsClass fc = new vfptoolsClass();
//调用完成                  
            Console.WriteLine("显示内容应该(7) ={0}", fc.add0 ());
catch(Exception ex) 
         {
            Console.WriteLine("错误:{0}",ex.ToString());
         }
            Console.ReadLine();
            
        }
    }
}4。在C# 目录下生成了 Interop.myfox.dll的文件5。在本机上运行正常。6。拷贝文件到客户机(客户机只装了.netframework,没有安装VFP9)
1。把C#bin\debug目录下所有文件,
2。VFP的myfox.dll文件,
3。vfp运行库
vfp9r.dll
vfprchs.dll
msvcr71.dll
gdiplus.dll7.同时,用regsvr32把运行库的vfp9r.DLL,myfox.dll进行了注册
--其他DLL不能注册到注册表,提示:
" 已加载xxx.dll,但没有找到dllRegisterServer输入点,无法注册这个文件"8,运行C#的执行文件,提示一个异常中断,但是我不能捕捉到这个异常而直接退出。各位专家,能否给我一个指点呢?