2009-05-18 2 views
0

디버그를 실행하는 것이 활성 구성에서 선택된 모든 프로젝트를 빌드하지 않는 이유는 무엇입니까?왜 VS.NET에서 디버그를 실행해도 활성 구성에서 선택된 모든 프로젝트가 빌드되지 않습니다?

일반적으로 주 프로젝트에 간접적으로 (MEF) 연결되어 있고 디버그 (F5)에서 실행할 때 VS.NET은 해당 DLL을 빌드하지 않습니다. 먼저 (Ctrl + Shift + B)를 빌드 한 다음 해당 DLL의 현재 버전을 디버깅하도록 응용 프로그램을 디버그해야합니다.

VS.NET이 비 참조 DLL을 작성하지 않음으로써 디버그 프로세스의 속도를 높이 려한다고 가정하지만 제 경우에는 더 느려집니다.

어쨌든이 동작을 변경할 수 있습니까?

답변

1

아마도 프로젝트 종속성을 확인하십시오 : Project | 프로젝트 의존성.

+0

:) 내가 찾고 있던 것이었다. –

2

이러한 DLL은 단순히 참조되었으며 현재 솔루션의 일부가 아니라고 가정 할 수 있습니까? 그렇다면 그 이유가 있습니다. 당신이 찾고있는 기능을 달성하기 위해서, 당신은 당신의 솔루션을 참조하고있는 DLL을위한 프로젝트를 추가해야하고 DLL을 직접 참조하는 대신 프로젝트를 참조 할 것입니다. . 이렇게하면 주 프로젝트와 함께 DLL을 컴파일하고 디버깅 할 수 있습니다. 이것이 당신이 말하는 것에 대한 것이 아니라면 사과드립니다.

+0

문제가 물리적으로 분리되도록 IOC를 사용하는 경우에도 DLL을 참조하면됩니다. 디버깅하는 동안 머리카락을 꺼내지 않아도됩니다. – cfeduke

+0

아니요 내 솔루션의 일부는 아니지만 런타임에로드되기로되어 있기 때문에 참조되지 않습니다 (플러그인을로드하는 것처럼 - 실제로는 플러그인입니다). –

0

다음 설정은 또한 디버그 세션을 시작할 때 구축 솔루션에 프로젝트 어떤 영향을 줄 수 있습니다 : -> 옵션 ... -> 프로젝트 및 솔루션 -

도구> 빌드 및 실행 -> 만 구축 시작 프로젝트와 의존성에 대한 실행

관련 문제