2012-04-04 7 views
0

내 솔루션에 프로젝트 2 개가 있습니다. 프로젝트 A와 B에 dll 참조를 추가했습니다. 이제 프로젝트 A를 빌드하면 dll이 프로젝트 A 출력 디렉토리에 복사됩니다. . 이제 프로젝트 B 프로젝트에서 A 프로젝트를 참조 할 경우 dll이 프로젝트 B 출력 폴더에 새로 복사됩니다. 왜 그런가요?참조 된 DLL이 출력 디렉토리에 복사되지 않았습니다.

이것은 Microsoft의 의도적입니까?

+0

당신은 또한 프로젝트 B에 DLL 참조를 추가 할 필요가 없습니다? – Nick

+0

아마도 그게 질문입니까, 그렇습니까? – hs2d

+0

참조 속성에서 '로컬 복사'를 '참'으로 설정 했습니까? –

답변

1

"출력에 복사"옵션을 설정하여 어셈블리를 복사 할 수 있습니다.

내 프로젝트에서 런타임 (콘솔, 응용 프로그램, 단위 테스트)을 생성하는 한 번은 참조가 로컬로 복사 중입니다. 이 기능을 사용하지 않으면 앱이 실행되지 않기 때문에 이는 중요합니다.

다른 프로젝트 (구성 요소 등)는 중앙 바이너리 폴더로 연결되어 있으며 거기에서 가져온 것이므로 참조를 복사하지 않습니다. 이렇게하면 막대한 양의 빌드 시간을 절약 할 수 있습니다.

1

이것은 Microsoft의 의도적입니까?

예.

0

로컬 복사 속성을 True 또는 False로 설정하려면 솔루션 탐색기에서 모든 파일 표시 단추를 클릭하여 참조 노드를 표시합니다. 프로젝트의 참조 노드를 엽니 다. 참조 목록에서 참조를 마우스 오른쪽 단추로 클릭하고 속성을 클릭하십시오. 해당 참조와 관련된 속성이 속성 창에 목록으로 나타납니다. 속성 창에서 로컬 복사 속성을 True 또는 False로 변경하십시오.

은 참조 : https://msdn.microsoft.com/en-us/library/t1zz5y8c(v=vs.90).aspx

관련 문제