8 votes

Impossible de résoudre le symbole 'EnterpriseLibraryContainer'.

Je viens de commencer à essayer le nouveau bloc Logger de MS Enterprise Library 6.0. Lorsque j'essaie de créer un LogWriter, j'obtiens l'erreur suivante :

Impossible de résoudre le symbole 'EnterpriseLibraryContainer'.

J'ai toutes les références et utilisations en place, mais je n'arrive pas à surmonter cette erreur.

Existe-t-il une solution à ce problème ?

9voto

Doug J. Huras Points 607

Alléluia ! Je viens de trouver un post (sur un lien qui a depuis disparu). Voici l'histoire :

Le code d'amorçage de tous les blocs a changé dans la version 6 de Enterprise Library. Les blocs n'utilisent plus Unity pour gérer l'initialisation et la configuration, et chaque bloc inclut désormais son propre code d'amorçage. Tout appel à la méthode EnterpriseLibraryContainer.Current.GetInstance pour résoudre un type à partir de l'un des blocs Enterprise Library doit être remplacé par le code d'amorçage spécifique au bloc. Par exemple, pour créer une instance de LogWriter basée sur la configuration du fichier app.config, vous pouvez désormais utiliser le code suivant :

LogWriterFactory logWriterFactory = new LogWriterFactory();
var logWriter = logWriterFactory.Create();

Je crois que ce texte est tiré du "Guide de migration de Microsoft Enterprise Library 6 et Unity 3".

J'ai entré le code comme indiqué et le compilateur ne se plaint pas. Maintenant, je peux continuer à voir comment la journalisation fonctionne.

1voto

sandy Points 121

Oui, même moi j'ai rencontré des problèmes lors de la création d'un objet pour ValidationFactory en utilisant Ent Lib 6.0. Pour info, pour créer une instance de ValidationFactory, voir le code suivant :

private Validator<Customer> customerValidator;
customerValidator = ValidationFactory.CreateValidator<Customer>();

Ce n'est pas nécessaire maintenant

EnterpriseLibraryContainer.Current.GetInstance<ValidatorFactory>()

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X