【发布时间】:2019-02-25 10:45:08
【问题描述】:
我创建了一个使用“Register for com interop”的 C# Dll,并设法使用 RegAsm 注册它:
RegAsm.exe -tlb -codebase MathLib.dll
之后我收到了消息:
“程序集导出到'C:\Test\MathLib.tlb',类型库注册成功”
我现在如何调用 Dll 中的方法?例如它有一个公共函数:
int Add(int a, int b) { return a + b; }
将 2 个数字相加并返回结果。如何从命令行调用它并查看操作结果?
非常感谢。
【问题讨论】:
-
从命令行?您注册了一个 COM 对象,然后假设您需要从非 .NET 代码中使用这些类型(如果它只是命令行,那么使用 PowerShell 您可以直接运行它而无需 COM 麻烦)。 AFAIK 没有任何实用程序可以使用命令行从 COM 对象执行任意方法。你想解决什么问题?
-
非常感谢您的回复,我以前没有使用过 COM 对象,但对我来说,如果我从命令行进行注册,那么其他操作(比如从该DLL)应该从命令行执行。我不明白,如果我想从非 .NET 代码(例如 AutoIt 或 Visual Basic)中使用我的 Dll,那么为什么我不能从那里完成所有操作呢?为什么我必须从命令行进行注册?
-
除非您在谈论 VB6,否则 VB 是一种 .NET 语言,您可以使用从 C# 代码编译的程序集。您在哪里注册 COM 对象与您如何使用它无关。您在线注册了汽车保险,但您不会在客厅的沙发上开车。
标签: c# methods dll registration regasm