【问题标题】:Using the aximp WrapperTool with a COM library将 aximp WrapperTool 与 COM 库一起使用
【发布时间】:2013-04-16 17:13:17
【问题描述】:

我有一个名为 Cyber​​Sc.ocx 的 OCX 库。

运行以下命令会在我的“添加引用”对话框的 COM 选项卡中添加一个条目:

regsvr32 CyberSc.ocx

当我添加到我的项目中时,我得到了这个:

我的同事在他的 COM 选项卡上有两个条目,都称为 Cyber​​Sc ActiveX 控制模块,当他添加一个时,他得到一个对 Interop.CYBERSCLib.dll 的 COM 引用第一个条目和对 AxInterop.CYBERSCLib.dll 的 COM 引用作为第二个条目。

我可以添加的 COM 库(Interop 库)出现在我的 *.proj 文件中,如下所示:

<COMReference Include="CYBERSCLib">
  <Guid>{5C31C2B3-955D-11D4-B3BB-00D0B77FDB6E}</Guid>
  <VersionMajor>1</VersionMajor>
  <VersionMinor>0</VersionMinor>
  <Lcid>0</Lcid>
  <WrapperTool>tlbimp</WrapperTool>
  <Isolated>False</Isolated>
  <EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>

我的同事也能够添加第二个库(AxInterop 库),在 *.proj 文件中有这个供参考:

<COMReference Include="AxCYBERSCLib">
  <Guid>{5C31C2B3-955D-11D4-B3BB-00D0B77FDB6E}</Guid>
  <VersionMajor>1</VersionMajor>
  <VersionMinor>0</VersionMinor>
  <Lcid>0</Lcid>
  <WrapperTool>aximp</WrapperTool>
  <Isolated>False</Isolated>
</COMReference>

我们两台机器上的 GUID 相同,而且在两个引用上也是如此,这让我认为他们都使用同一个 COM 库,只是使用了两个不同的包装器。这是正确的吗?

我认为我的计算机包含 tlbimp 包装工具是否正确,所以我可以将它与 COM 库 5C31C2B3-955D-11D4-B3BB-00D0B77FDB6E 一起使用,但是我的计算机不包含 aximp 包装工具,所以我不能将它与同一个库一起使用,但是我同事的计算机包含这两个包装工具?如果是这样,我如何将 aximp 包装工具添加到我的计算机?

我们在任何一个系统上都只能找到一个 *.OCX 文件。任何人都可以阐明这里发生了什么吗?如何仅从一个 *.ocx 文件将 Interop 和 AxInterop COM 库添加到 Visual Studio 项目的引用管理器的 COM 选项卡?

谢谢

【问题讨论】:

    标签: .net visual-studio-2012 com reference ocx


    【解决方案1】:

    万一以后有人偶然发现这个问题,答案很简单。

    • 如上所述,您需要使用 regsvr32 将 OCX 文件注册为 COM 库
    • 将这一 COM 库添加到您的项目(从 COM 选项卡)
    • 将 Windows 窗体添加到您的项目中
    • 在设计器中,在工具箱内右键单击,然后单击Choose Items...
    • 点击COM组件标签
    • 勾选您的 COM 库名称旁边的框
    • 在工具箱中找到 OCX 控件并将其拖到 WinForm 设计器上
    • 现在 AxInterop COM 库会自动添加到您的项目中,您可以构建

    【讨论】:

    • 如果您不每隔几个月左右使用一次,您总是会忘记右键单击的位置,以提取和探索 COM dll 中的 ActiveX。感谢您的回答!这次我只花了一个小时就弄明白了。
    猜你喜欢
    • 1970-01-01
    • 2010-11-12
    • 2012-02-29
    • 2017-06-13
    • 1970-01-01
    • 2015-04-01
    • 2011-12-10
    • 2014-05-12
    • 2010-10-15
    相关资源
    最近更新 更多