在 VB6 应用程序中使用 .NET dll

2024-04-26

我在 c#.net 中编写了一个 dll,它在应用程序中调用另一个第三方 .NET dll。当我使用用 c#.NET 编写的控制台应用程序以及使用以下代码对其进行测试时,效果很好:

 Assembly u = Assembly.LoadFrom(dllLocation);
 Type t = u.GetType("MyLIB.CLass");
 MethodInfo m = t.GetMethod("Method");
 object[] myparam = new object[1];
 myparam[0] = fileLocation;
 result = (string)m.Invoke(null, myparam);

请注意,某些文件也会使用以下命令加载到 dll 最初加载的位置:

  string path = Assembly.GetExecutingAssembly().Location;
  path = Path.GetDirectoryName(path);

但问题是,当我尝试使用 VB6 调用它时,出现无法加载第三方 dll 的错误。请帮忙,因为我似乎不知道发生了什么事。


我想给你更多细节,以便 .NET Assembly 暴露给 COM

你需要生成tbl - type library

using RegAsm /tlb: MyLIB.tlb MyLIB.dll

指南将 .NET 类型公开给 COM 并确保您能够处理它。 比如声明可视化属性,要求公共默认构造函数对 COM 可见,例如

你可以参考如何从 Visual Basic 6.0 调用 Visual Basic .NET 或 Visual Basic 2005 程序集 http://support.microsoft.com/default.aspx?scid=kb;en-us;817248

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 VB6 应用程序中使用 .NET dll 的相关文章

随机推荐