【问题标题】:Assembly not referenced error with Interactive Brokes ActiveX APIInteractive Brokes ActiveX API 未引用程序集错误
【发布时间】:2026-01-03 07:35:01
【问题描述】:

我正在尝试使用 Interactive Brokers ActiveX API,但遇到了一点麻烦:

错误 CS0012:类型 'System.Windows.Forms.AxHost' 是 在未定义的程序集中定义 参考。您必须添加参考 组装'System.Windows.Forms, 版本=2.0.0.0,文化=中性, PublicKeyToken=b77a5c561934e089'。

我的代码:

namespace DataFeed.Gateway
{
    class IBGateway : IGateway
    {
        private AxTWSLib.AxTws tws; //<-- the error line
        //...
    }
}

我有一个控制台应用程序,所以我想知道这是否可能是 ActiveX 无法正常工作的原因......还是这里发生了其他事情?也许我应该将 AxTWSlib.dll 添加到 GAC,但我真的吗?如果我将dll作为资源添加,那么我认为我不需要将它添加到GAC。

注意:我已将 AxTWSlib.dll 放入我的项目文件夹中,并将其添加到项目引用中...没有问题。

【问题讨论】:

    标签: c# assemblies activex gac


    【解决方案1】:

    对不起,当我阅读错误时,应该从一开始就已经很明显了:

    您必须添加对程序集“System.Windows.Forms”的引用

    Interactive Brokers ActiveX API 要求应用程序具有对 System.Windows.Forms dll 的引用,并且控制台应用程序不包含这些引用。我手动添加了引用,现在它工作正常。或者,您可以创建一个 Windows 窗体应用程序,它应该可以正常工作。

    【讨论】: