StructureMap exception: Pas d'Instance par Défaut définie pour PluginFamily
J'ai un SysMsgManager classe définie dans CoreService projet comme suit:
public class SysMsgManager
{
private ISysMsgRepository _SysMsgRepository;
public SysMsgManager()
{
_SysMsgRepository = ObjectFactory.GetInstance<ISysMsgRepository>();
}
....
}
Dans mon DataAccess projet, j'ai 'ISysMsgRepository' interface et deux des implémentations concrètes définies comme suit:
namespace DataAccess.Repository
{
[Pluggable("Default")]
public class SysMsgRepository : ISysMsgRepository
{
...
}
}
namespace DataAccess.Repository
{
[Pluggable("Stub")]
public class SysMsgRepository_Test : ISysMsgRepository
{
...
}
}
et c'est ce que j'ai dans mon StructureMap.fichier de configuration
<StructureMap>
<Assembly Name="CoreService" />
<Assembly Name="DataAccess" />
<PluginFamily
Assembly="DataAccess"
Type="DataAccess.Repository.ISysMsgRepository"
DefaultKey="Default" />
</StructureMap>
Lorsque j'essaie d'exécuter mon application, j'ai l'erreur suivante:
StructureMap Code d'Exception: 202\npas de l'Instance par Défaut définie pour PluginFamily DataAccess.Référentiel.ISysMsgRepository, DataAccess, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Quelqu'un peut-il m'aider à résoudre ce problème? Merci!
Je sais que ce n'est pas la solution à ce problème en particulier, mais de faire assurer les cours sont publics corrige cette erreur
OriginalL'auteur sean717 | 2010-02-18
Vous devez vous connecter pour publier un commentaire.
Malheureusement j'ai peu de familiarité avec la configuration de StructureMap via Xml. Permettez-moi de vous montrer comment il est fait à l'aide de C#.
Il semble que vous êtes en utilisant le standard de convention de nommage pour les interfaces et les classes (juste virer de bord un I sur le front le nom de la classe). Si vous faites cela pour tous vos types de que vous pouvez il suffit de configurer votre conteneur comme ceci:
J'espère que cette aide. Il est beaucoup plus facile de configurer votre conteneur à l'aide de code plutôt que Xml. Lui donner un essai. Vous serez un convertir.
Pouvez-vous m'envoyer coller de votre code de test?
Merci pour votre aide. J'arrive à la fin de tout travail dans CastleWindsor. Je pense qu'à un moment donné, je obtenir le code de votre affiché. Mais je veux toujours avoir la configuration via XML.
Qu'est-ce exactement avez-vous besoin de le faire via XML? Juste curieux de ce qui nous manque StructureMap.
après 18 mois, je suis un convertisseur.
OriginalL'auteur KevM