2010-09-23 3 views
1

J'essaie de créer un proxy dynamique en utilisant Spring.NET et C# pour une interface COM. J'expérimente actuellement en utilisant du code, pas des fichiers de configuration. J'ai un code similaire à ce qui suit:Est-il possible de proxy une interface COM en utilisant Spring.Net?

Type comInterfaceType = typeof(ICOMInterface); 
ProxyFactory proxyFactory = new ProxyFactory(); 
proxyFactory.AddInterface(comInterfaceType); 
proxyFactory.GetProxy(); 

Il explose au GetProxy() appeler à l'exception suivante:

System.InvalidOperationException: The property with name ArraySubType can't be found 
    in the type System.Runtime.InteropServices.MarshalAsAttribute, but is present as 
    a named property on the attributeData 
[System.Runtime.InteropServices.MarshalAsAttribute(
    (System.Runtime.InteropServices.UnmanagedType)28, ArraySubType = 0, SizeParamIndex 
    = 0, SizeConst = 0, IidParameterIndex = 0, SafeArraySubType = 0)] 

Est-ce tout simplement pas possible? J'utilise toujours Spring.NET 1.1, est-ce possible dans les versions plus récentes (que nous allons bientôt passer à bientôt)? MISE À JOUR: Après avoir expérimenté, j'ai eu la même erreur avec des paramètres légèrement différents (par exemple, UnmanagedType 44) lors de l'envoi par proxy de la classe Form.

Répondre

Questions connexes