2014-02-15 5 views
2

NuGet을 사용하여 여러 dll과 다른 모든 dll을 사용하는 하나의 exe가있는 솔루션에 Microsoft.Bcl.Async 패키지를 설치하면 NuGet은 모든 단일 프로젝트에 대해 .config 파일을 자동으로 만듭니다 (또는 기존 파일에 추가). Bcl 패키지가에 추가됩니다.bindingRedirect .config 파일이 필요하거나 응용 프로그램의 모든 어셈블리가 필요합니까?

실제로 동일한 리디렉션을 포함하는> 20 개의 구성 파일로 끝납니다. 나는 리디렉션 is needed을 이해하고 있지만 실제로는 모든 어셈블리에 필요합니다. 단일 응용 프로그램에서 모두로드됩니다 (그 중 일부는 Prism에서 중요합니다). 출력 디렉토리에서 모든 .config 파일을 제거하고 app.config 만 남겨두고 응용 프로그램이 정상적으로 작동하는 것 같습니다. bindRedirect가 응용 프로그램 시작시 영향을 받으면 해당 도메인에로드 된 다른 모든 어셈블리도 자동으로 리디렉션을 사용한다는 가정이 맞습니까? 아니면 어떤주의 사항이 있습니까? 내가 묻는 주된 이유는 응용 프로그램을 재배포 할 때 이러한 모든 구성 파일이 포함되어야 하는지를 아는 것입니다.

답변

8

당신은이 질문을 참조 할 수 있습니다 :

Why NuGet adds app.config with assemblyBinding to LIBRARY projects during a NuGet package update?

나는 위의 질문에 대한 대답은 충분히 쿼리에 응답 생각합니다.

요약을 원하면 실제로 맞습니다. 단일 응용 프로그램에서 하나의 .config 파일 만 있으면됩니다. 어셈블리 별 .config 파일은 각 어셈블리를 사용/참조하는 경우에만 테스트에 사용됩니다. 따라서 응용 프로그램을 배포하는 경우에는 어셈블리 별 .config 파일이 필요하지 않습니다. 넓은 응용 프로그램의 .config 파일이면 충분합니다.

+0

좋아, 그래서 현상금을 넣어, 즉각적인 대답 :] – stijn

+0

하하. 솔직히 말하면, 범프 때문에 스레드를 보았습니다. ;) – Yogesh

+2

@ Yogesh 당신이 언급 한 질문에 대한 대답은 실제로 당신이 말한 것에 모순됩니다. app.config 파일은 런타임뿐만 아니라 컴파일 타임에 사용되기 때문에 각 어셈블리에서 중요하다고합니다. –