2010-05-11 8 views
0

Je tente d'utiliser l'API Interactive Brokers ActiveX, mais je vais avoir un peu de mal:erreur Assemblée non référencée avec l'API Interactive Brokes ActiveX

error CS0012: The type 'System.Windows.Forms.AxHost' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

Mon code:

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

J'ai une application de console, donc je me demande si cela pourrait être la raison pour laquelle ActiveX ne fonctionne pas ... ou est-ce qu'il se passe autre chose ici? Peut-être que je devrais ajouter le AxTWSlib.dll au GAC, mais ai-je vraiment à? Si j'ajoute la DLL comme ressource, je pense que je n'ai pas besoin de l'ajouter au GAC.

Remarque: J'ai déposé le fichier AxTWSlib.dll dans mon dossier de projet et l'ai ajouté aux références du projet ... aucun problème.

Répondre

1

Désolé, il aurait été tout à fait évident depuis le début quand je lis l'erreur:

You must add a reference to assembly 'System.Windows.Forms'

Une API Interactive Brokers ActiveX nécessite que l'application a des références à la dll System.Windows.Forms et une console l'application n'inclut pas les références. J'ai ajouté les références manuellement et maintenant cela fonctionne bien. Alternativement, vous pouvez créer une application Windows Forms et cela devrait fonctionner correctement.