2013-05-01 4 views
8

방금 ​​새로운 MS Enterprise Library 6.0 Logger 블록을 시험해보기 시작했습니다. 나는 LogWriter를 만들려고 할 때, 나는 오류가 발생합니다 :Symbol 'EnterpriseLibraryContainer'를 해결할 수 없음

Cannot resolve symbol 'EnterpriseLibraryContainer'

나는 장소에있는 모든 참조와 using이있다, 그러나이 오류 과거를 얻을 수 없습니다.

이 문제에 대한 해결책이 있습니까?

답변

8

할렐루야! 방금 게시물이 발견되었습니다 (링크가 사라짐). 그 이야기가 있습니다 :

모든 블록에 대한 부트 스트래핑 코드가 Enterprise Library 버전 6에서 변경되었습니다. 블록은 더 이상 Unity를 사용하여 초기화 및 구성을 관리하지 않으며 각 블록에는 자체 부트 스트랩 코드가 포함됩니다. 엔터프라이즈 라이브러리 블록 중 하나에서 형식을 확인하기 위해 EnterpriseLibraryContainer.Current.GetInstance 메서드를 호출하면 블록 관련 부트 스트랩 코드로 바뀌어야합니다. 나는이 추천 광고는 "Microsoft 엔터프라이즈 라이브러리 (6)와 유니티 3 마이그레이션에서라고 생각

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

예를 들어, app.config 파일의 구성에 따라 LogWriter 인스턴스를 만들려면 이제 다음 코드를 사용할 수 있습니다 안내서".

필자는 표시된 코드를 입력했으며 컴파일러가 불만을 제기하지 않았습니다. 이제 로깅이 어떻게 작동하는지 계속 확인할 수 있습니다.

+0

우수함 필요하지 않습니다! 나는 LogWriterFactory에 대해서, EL 6.0에서 로깅 할 때, 나는 다음과 같은 것을하고있다 : var loggingConfig = ConfigurationManager.GetSection ("loggingConfiguration") LoggingSettings; var logWriter = loggingConfig.BuildLogWriter(); – AksharRoop

1

예, Ent Lib 6.0을 사용하여 ValidationFactory에 대한 개체를 만드는 동안 문제가 발생했습니다. 그냥 정보를 원하시면 다음 코드를 참조 ValidationFactory의 인스턴스를 만들 수 있습니다 :

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

이 지금

EnterpriseLibraryContainer.Current.GetInstance<ValidatorFactory>() 
관련 문제