1、用VB6写了个dll   Test.dll
2、C#程序A 引用Test.dll,同时生成了一个Interop.Test.dll
3、去掉Test.dll引用
4、动态调用 Test.dll
//取得当前路径
string dllPath = GetAssemblyPath();//com注册 (难道在这注册不行吗)
System.Diagnostics.Process.Start("regsvr32.exe", " /s " + dllPath + "Test.dll");Assembly ddvb = Assembly.LoadFrom(dllPath + "Interop.Test.dll");//获取类型
 Type ddtype = ddvb .GetType("Test.GoodVbClass");//获取方法
MethodInfo method = ddtype .GetMethod("SayHello");//生成对象
object o = Activator.CreateInstance(ddtype , null);//调用方法
 Object reslt = method.Invoke(o, new object[] { “ASS”});
在调试的时候,运行正常,可能是Test.dll也是在本机生成的原因
但是把生成的EXE和dll放到别的机器上就不行了,
“检索Com类工厂中CLSID胃{20……省略}的组建时失败,原因是出现以下错误:80040154”只剩下10分了,稍后补!
谢谢