【问题标题】:What is the difference between AxInterop and Interop?AxInterop 和 Interop 有什么区别?
【发布时间】:2011-01-18 06:33:07
【问题描述】:

我在 VS 的工具箱中添加了一个 .ocx。 创建了两个 .dll:Interop.NNN.dll、AxInterop.NNN.dll。

每个是什么?两者都需要吗?

【问题讨论】:

    标签: .net com interop activex ocx


    【解决方案1】:

    Interop.xxx.dll 和 AxInterop.xxx.dll 分别是引用的 COM 和 ActiveX dll 的运行时可调用包装 (RCW)。

    interop.xxx.dll 纯粹是一个自动化(COM dll)包装器,使您能够在应用程序的命名空间内操作对象。 AxInterop.xxx.dll 是 ActiveX 控件的控件包装,可以拖到窗体上。

    【讨论】:

    • 所以我需要同时部署两者?我将在表单上使用控件。
    • 看来,在我的 MapPoint 情况下,两者都需要。我的猜测是 AxInterop.xxx.dll 在某些情况下引用了 Interop.xxx.dll 但我没有费心在 Reflector 中打开它来验证这一点。
    • 我需要在 pc 中安装这 2 个组件来运行我的 .net fmw 4.6 应用程序吗?
    【解决方案2】:

    AxFoo.dll 程序集包含一个自动生成的类,该类派生自 System.Windows.Forms.AxHost 控件。它非常简单,它具有方法、属性和事件,与 .ocx 中可用的相同,只需调用 Foo.dll 互操作库。

    所以,是的,您肯定需要部署这两个程序集。

    【讨论】:

      猜你喜欢
      • 2011-05-16
      • 2010-10-02
      • 2011-12-12
      • 2010-09-16
      • 2012-03-14
      • 2012-02-06
      • 2011-02-25
      • 2011-11-22
      • 2015-03-26
      相关资源
      最近更新 更多