2013-05-01 15 views
8

Ho appena iniziato a provare il nuovo blocco Logger MS Enterprise Library 6.0. Quando cerco di creare un logwriter, ottengo l'errore:Impossibile risolvere il simbolo 'EnterpriseLibraryContainer'

Cannot resolve symbol 'EnterpriseLibraryContainer'

ho tutti i riferimenti e le usings a posto, ma non riesco a superare questo errore.

Esiste una soluzione a questo problema?

risposta

8

Alleluia! Ho appena trovato un post (su un link che è scomparso da allora). Ecco la storia:

Il codice di avvio per tutti i blocchi è stato modificato nella versione 6 di Enterprise Library. I blocchi non utilizzano più Unity per gestire l'inizializzazione e la configurazione e ogni blocco ora include il proprio codice di avvio. Qualsiasi chiamata al metodo EnterpriseLibraryContainer.Current.GetInstance per risolvere un tipo da uno dei blocchi di Enterprise Library deve essere sostituita con il codice di bootstrap specifico del blocco. Ad esempio, per creare un'istanza logwriter in base alla configurazione nel file app.config, è ora possibile utilizzare il seguente codice:

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

Credo che questo Blurb è dal "Microsoft Enterprise Library 6 e l'Unità 3 Migrazione Guida".

Ho inserito il codice come mostrato e non ho lamentato il compilatore. Ora posso continuare a vedere come funziona la registrazione.

+0

Grande! Non ho parlato di LogWriterFactory, per il logging per lavorare con EL 6.0, stavo facendo qualcosa del tipo: var loggingConfig = ConfigurationManager.GetSection ("loggingConfiguration") come LoggingSettings; var logWriter = loggingConfig.BuildLogWriter(); – AksharRoop

1

Sì, anche io stavo affrontando problemi durante la creazione di un oggetto per ValidationFactory utilizzando Ent Lib 6.0. Solo per informazioni per creare un'istanza di ValidationFactory vedere seguente codice:

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

questo non è richiesto ora

EnterpriseLibraryContainer.Current.GetInstance<ValidatorFactory>()