J'ai une application en cours de développement dans VS2010, et utilise Castle-Windsor IoC, à travers un fichier de configuration. L'un des composants que j'inscris, également développé dans VS2010, fait référence à un composant .net 2.0 (LeadTools), donc recompiler le projet 2.0 n'est pas une option. Lorsque l'enregistrement du composant d'emballage est terminé, une "ComponentActivatorException" est levée, ce qui enveloppe une "System.TypeInitializationException", qui à son tour encapsule une "System.IO.FileLoadException" avec un message de "L'assemblage en mode mixte est construit sur la version 'v2 .0.50727 'du runtime et ne peut pas être chargé dans le runtime 4.0 sans informations de configuration supplémentaires. "Obtenir une "ComponentActivatorException" à l'aide de Castle Windsor à partir d'une application .net 4.0 à l'aide d'un composant .net 2.0
J'ai ajouté la déclaration d'exécution au fichier de configuration de l'application, comme si:
<!-- useLegacyV2RuntimeActivationPolicy is needed for LEADTools-->
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
<supportedRuntime version="v2.0.50727" />
</startup>
Cela fonctionne bien si le composant d'emballage n'est pas enregistré à Windsor, cependant, il ne semble pas tenir compte des directives autrement .
Merci!
Pouvez-vous publier la trace de la pile d'exceptions complète? –