【发布时间】:2019-02-13 19:01:41
【问题描述】:
我有一个非常旧的 .exe COM 服务器,它不是在 .net 中制作的。 我想知道是否可以使用 C# 或 Java 访问 .exe 的功能。我试图在项目中引用服务器,但我得到的是这个错误:
无法添加对 ... 的引用。无法注册 ActiveX 类型库...这不是 .NET 程序集。
我对此并不聪明,你怎么看,我应该往哪个方向走? 通常我总是添加对 .dll 的引用,但我认为不可能添加对 .exe 文件的引用。
谢谢
【问题讨论】:
-
很有可能,并且有一些库可以帮助您做到这一点——您搜索过什么,尝试过什么?
-
您好,我尝试从 cmd 运行 .exe,我想如果我能做到,我也可以从项目中做到这一点。但这没有成功,或者我做错了什么。另一种尝试是将 .exe 放在项目文件夹中,并通过
object CheckCom=Activator.CreateInstance(Type.GetType("CheckCom.Command")); 在项目中创建 .exe 对象文件的实例。为此,我必须以某种方式引用该对象,否则我有构建错误并且我无法使用对象函数 (CheckCom.function) 哪些库可以帮助我做到这一点? -
我还尝试运行进程管理器来检查 .exe 是否具有公共功能,并且看起来这些功能存在。那么现在的问题是如何在 VS C# 或 JAVA 中添加它的引用?
-
我想到的也是。 .exe 运行后,使用托管 C# 应用程序或 JAVA 应用程序使用项目在该进程上执行特定的公共功能?如果是这样,我应该怎么做?
-
我已经检查过了,.exe 是用 Visual Basic 6.0 编写的。有没有办法通过 VB6.0 .exe 使用 pinvoke?
标签: java c# reference com activex