使用来自 VB6 代码的 C# 程序集。一些问题
我有一个 C# 程序集,已对其进行了 regasm,但不在 GAC 中。在我的 VB6 代码中,我添加了对生成的类型库(.tlb 文件)的引用。
然后我在 VB6 代码中实例化 C# 库。如果我从 VB6 IDE 运行它,它不起作用。下面代码中的 Set
Dim obj as MyCSharpNamespace.MyCSharpObject
Set obj = New MyCSharpNamespace.MyCSharpObject
会导致此错误:
Automation error
The system cannot find the file specified
但是,如果我将 VB6 项目编译为 EXE 并运行它,它运行得很好。
我应该补充一点,所有 VB6 项目文件(例如表单、模块等)都与 C# DLL 和 TLB 位于同一文件夹中。
那么为什么我不能从IDE环境运行它呢?
I have a C# assembly, which is regasm
ed, but is not in the GAC. In my VB6 code, I added a reference to the generated type library (the .tlb file).
Then I instantiate the C# lib in my VB6 code. If I run it from the VB6 IDE, it does not work. The Set
in the code below:
Dim obj as MyCSharpNamespace.MyCSharpObject
Set obj = New MyCSharpNamespace.MyCSharpObject
causes this error:
Automation error
The system cannot find the file specified
However, if I compile the VB6 project to an EXE and run it, it runs perfectly fine.
I should add that all the VB6 project files (e.g. forms, modules, etc...) are in the same folder as the C# DLL and TLB.
So why can't I run it from the IDE environment?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
运行
regasm
时使用/codebase
开关。Use the
/codebase
switch when runningregasm
.