2014-03-07 2 views
0

내 솔루션에 많은 프로젝트가 있는데 어떤 이유에서 필자가 (Re) 특정 프로젝트를 빌드하면 Microsoft.Practices.Prism.dll 및 Microsoft.Practices.ServiceLocation.dll이 출력 폴더에 전달됩니다.이 .dll이 출력 폴더에 복사되는 이유는 무엇입니까?

나는 그러나 거짓 = 로컬 복사본으로 설정되어, Microsoft.Practices.Prism.dll에 대한 참조가이 프로젝트의 모든 다른 참조가 있으며, 당신은 이미지를 볼 수 : enter image description here

이 프로젝트의 Microsoft.Practices.ServiceLocation.dll에 대한 참조조차 없습니다. Pre-build 및 Post-build 이벤트 명령 행에는이 문제를 일으킬 수있는 것도 포함되어 있지 않습니다. 누군가 이런 일이 일어날 수있는 다른 이유를 지적 할 수 있습니까?

편집 : 참조를 제거하고 (다시) 건물도 문제를 해결하지 못합니다.

+1

다른 모든 프로젝트에서이 참조를 확인하십시오.이 dll이 로컬 yes를 가진 다른 프로젝트를 참조하며이 프로젝트에서이 DLL을 참조하는 경우 발생합니다. 또한이 특정 버전을 false로 설정하여 시도하십시오. –

+1

진단이 불가능한 경우 MSBuild 상세 표시를 상세하게 변경해야합니다. 이것을이 어셈블리 참조의 Copy Local 속성을 True로 설정하는 기회로 삼으십시오. 사용자가 GAC에 설치하지 않을 것입니다. –

+0

@NipunAmbastha 나는 수표를 발행했는데 그 전에는 문제가되지 않았지만, 당연히 내가 놓친 것 같은 많은 프로젝트가 있기 때문에 나는 다시 점검 할 것입니다. 내가 알고 싶은 다른 가능성이 있다면, 고마워. –

답변

0

이는 간접 참조로 인한 것일 수도 있습니다. 내 말은, 응용 프로그램에서 참조하는 라이브러리가있는 경우 이러한 DLL 중 하나가 필요하면 해당 폴더가 bin 폴더로 복사됩니다. ServiceLocation 1의 경우, IoC 용 Unity 프레임 워크를 사용하고있는 것일 수 있습니다.

관련 문제