在 TLBIMP-ed dll 之后手动生成 ActiveX 包装器?

1

本文介绍了在 TLBIMP-ed dll 之后手动生成 ActiveX 包装器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我有几个 ActiveX 组件需要从 C# 项目中访问.

I have several ActiveX components that needed to be accessed from a C# project.

我可以通过 Visual Studio 的添加引用对话框导入它们,该对话框也会自动生成包装类.(即 ABCLibAxABCLib)

I can import them via Visual Studio's add reference dialog, which will also automatically generate wrappers class. (i.e. ABCLib and AxABCLib)

我知道我可以通过在每个单独的 OCX 文件上运行 TLBIMP/primary 来手动生成主互操作程序集,但我找不到生成 ActiveX 包装器的方法,除非我通过 Visual Studio 执行此操作用户界面.

I know that I can generate the primary interop assembly manually by running TLBIMP /primary on each individual OCX file but I could not find a way to generate the ActiveX wrapper unless I do it via Visual Studio user interface.

是否有在 .NET SDK 中生成 ActiveX 包装器的命令行版本?

Is there a command-line version that generate the ActiveX wrapper in the .NET SDK?

我想从我手动从 TLBIMP 获得的 PIA 生成 AxABCLib 版本.(即设置命名空间、输出 dll 文件名等)有可能吗?

I want to generate the AxABCLib version from the PIA I got from TLBIMP manually. (i.e. setting namespaces, output dll filenames etc.) Is it possible?

推荐答案

哦……看了看TLBIMP所在的文件夹找到了.

Oh... found it after looking at the folder where TLBIMP belongs.

它叫做AxImp.

C:Program FilesMicrosoft SDKsWindowsv6.0AinAxImp.exe

所以基本上,要在您自己的自定义命名空间中生成 PIA DLL:

So basically, to generate a PIA DLL in your own customized namespace:

  1. 注册您的 OCX

  1. Register your OCX

regsvr32 abc.ocx

通过运行为您的 ocx 生成一个强名称密钥对

Generate a strong name key pair for you ocx by running

sn -k

运行 TLBIMP 并指定所需的命名空间

Run TLBIMP and specify the desired namespace

tlbimp abc.ocx/primary/keyfile:abc.snk/out:abc.dll/namespace:MyNamespace

在 ocx 上运行 AXIMP 并使用 rcw 开关来使用您自己手动生成的 PIA DLL.

Run AXIMP on the ocx and use the rcw switch to use your own manully generated PIA DLL.

aximp abc.ocx/source/rcw:abc.dll

应该可以的.

然而,导入古代 TLB 存在一些问题.我还不确定如何解决这个问题.

There are however some problems with ancient TLBs being imported. I am not sure how to fix that yet.

这篇关于在 TLBIMP-ed dll 之后手动生成 ActiveX 包装器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

C# 中的多播委托奇怪行为?
Multicast delegate weird behavior in C#?(C# 中的多播委托奇怪行为?)...
2023-11-11 C#/.NET开发问题
6

如何将代表存储在列表中
How to store delegates in a List(如何将代表存储在列表中)...
2023-11-11 C#/.NET开发问题
6

代表如何工作(在后台)?
How delegates work (in the background)?(代表如何工作(在后台)?)...
2023-11-11 C#/.NET开发问题
5

Delegate.CreateDelegate() 和泛型:错误绑定到目标方法
Delegate.CreateDelegate() and generics: Error binding to target method(Delegate.CreateDelegate() 和泛型:错误绑定到目标方法)...
2023-11-11 C#/.NET开发问题
14

函数委托与函数
Func Delegate vs Function(函数委托与函数)...
2023-11-11 C#/.NET开发问题
6

具有未知类型的 CreateDelegate
CreateDelegate with unknown types(具有未知类型的 CreateDelegate)...
2023-11-11 C#/.NET开发问题
5