4. Test/Debugging

C# UserControl, ActiveX Control 디버깅 하기

SSKK 2011. 8. 16. 22:53
C# 으로 UserControl 을 지정하여 Dll 을 만들면, 디버깅(F5) 실행시 해당 컨트롤을 디버깅할 수 있는 UserControlTestContainer 가 자동으로 실행되면서 target DLL 을 로딩합니다. 근데, 만일 그냥 클래스 라이브러리를 선택하여 Dll 을 만들고 UserControl 을 추가한 후 디버깅을 실행하면 시작 프로그램을 지정하라는 메시지가 나옵니다.

이를 다른 외부 응용 프로그램을 지정하지 않고 UserControlTestContainer 를 이용하여 디버깅하려면 다음과 같이 합니다.


Start External Program 에 다음의 경로에 있는 UserControlTestContainer 를 지정하고,

* 32 비트인 경우
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\UserControlTestContainer.exe
* 64 비트인 경우
C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\UserControlTestContainer.exe

(VS 버전이 다른 경우는 해당 버전의 경로를 참고하세요.)

command line arguments 에 생성되는 Dll 이름을 지정하면 됩니다. 안타깝게도 Visual Studio 에 버그가 있어서 command line arguments 에 $(
TargetPath) 를 지정시 자동으로 확장되지 않았습니다.

저처럼, $(
TargetPath) 를 찾을 수 없다는 에러메시지가  나오면 그냥 생성되는 Dll 파일을 수동으로 지정하시면 됩니다.

알면 별 것 아니지만 모르면 조금 답답한 팁입니다.  Visual Studio 2005 에서는 기본적으로 ActiveX Container 가 콤보 박스에 나와 있어서 훨씬 지정하기 편했습니다. ㅡㅡ;