2013-10-01 2 views
1

각 모듈은 자체 프로젝트이므로 모듈화 된 응용 프로그램이 있습니다. 그런 다음 각 모듈을 단일 dll에 패키지화 할 수 있습니다.모든 구성 파일을 응용 프로그램에서 가져 오기

프로젝트의 루트 내에 "Scripts.config"라는 각 모듈에 대한 사용자 지정 구성 파일을 추가했습니다. 응용 프로그램에서 모든 Scripts.config 파일을 가져올 수있는 방법이 있는지 궁금합니다.

다음 코드는 특정 유형의 모든 구현을 가져 오는 데 사용됩니다 :

private IList<Type> GetTypes<T>() { 
    return BuildManager.GetReferencedAssemblies().Cast<Assembly>().SelectMany(a => a.GetExportedTypes().Where(t => typeof(T).IsAssignableFrom(t) && !t.IsAbstract)).ToList(); 
} 

나는 모든 "Script.config"파일을 얻을하지만 해당 찾고 있어요 같아요. Scripts.config 파일을 임베드 할 수 있었지만 더 나은 솔루션이 있는지 궁금합니다.

죄송합니다. 명확하게 설명하지 않은 경우 죄송합니다. 나는 정말 어떤 도움을 주셔서 감사합니다. 감사합니다

+1

나는 또한 임베딩을 시도합니다. – Surfbutler

+0

고마워요. 제가 기대고있는 방식입니다. 이것은 이미 모듈을 가로 질러 이미지를 집어 들기 위해 내가 한 일입니다. 그러나 .config 파일이기 때문에 다르게 처리해야하는지 궁금합니다. – nfplee

+0

그럼 각 응용 프로그램의 각 script.config 파일을 주 응용 프로그램에 추가 할 수 있지만 Add 대신 'Add As Link'를 사용하는 것이 좋겠지 만 설정 파일을 가지고 직접 시도하지는 않았습니다. – Surfbutler

답변

0

나는 리소스를 포함시키는 것이 최선의 방법이라고 생각했습니다. 필요한 어셈블리를 가져온 다음 각 어셈블리에 다음 코드를 사용하여 Scripts.config 파일의 내용을 검색하면됩니다.

using (var stream = assembly.GetManifestResourceStream(assembly.GetManifestResourceNames().Single(n => n.EndsWith("Scripts.config")))) { 
    using (var sr = new StreamReader(stream)) { 
     var content = sr.ReadToEnd(); 
     ... 
    } 
} 
관련 문제