Selon le fichier d'aide fourni avec le framework Spring.NET, vous pouvez injecter une dépendance définie dans le fichier local en utilisant une balise 'idref' avec un attribut 'local'.
J'ai essayé de le faire sans succès et j'espérais que quelqu'un avait l'expérience nécessaire pour m'aider.
Ci-dessous, j'ai un extrait de la configuration où je le passe comme argument de constructeur, mais j'ai aussi essayé de le définir comme propriété. Les deux méthodes semblent produire la même erreur.
<object id="theTargetObject" type="TestClassLibrary.TargetObject, TestClassLibrary"/>
<object id="theClientObject" type="TestClassLibrary.ClientObject, TestClassLibrary">
<constructor-arg name="myClass">
<idref local="theTargetObject"/>
</constructor-arg>
</object>
Erreur lors de la création du contexte 'spring.Root' : Erreur lors de la création d'un objet avec le nom 'theClientObject' défini dans 'file [ C:\Test\TestApp\bin\Debug\my.config.xml ]' : Dépendance non satisfaite exprimée par l'argument du constructeur avec l'index 0 du type [TestClassLibrary.TargetObject] : Impossible de convertir la valeur de l'argument du constructeur [theTargetObject] en type requis [TestClassLibrary.TargetObject] : Impossible de convertir la valeur de la propriété de type [System.String] en type requis [TestClassLibrary.TargetObject] pour la propriété ''.