본문 바로가기

Papyrus/Troubleshooting

Visual Studio 2005에서 핸들러 추가할 때 에러가 나온다면..

CWnd와 같은 클래스의 핸들러를 작성하기 위해서 클래스 뷰, 속성을 선택하고 원하는 핸들러를 찾아 추가하거나 삭제할 때 해당 핸들러 추가/삭제가 되지 않는 버그가 있다. Visual Studio 2005만 아니라 2008에서도 여전한 버그인데, 왜 수정이 안되는지 모르겠다.

해결방법은, 해당 프로젝트 인텔리센스 데이터베이스 파일을 삭제한 뒤, 프로젝트 파일에서부터 Visual Studio를 다시 동작시키는 것이다. Visual Studio를 시작한 뒤 프로젝트 파일을 여는 방법은, 이상하게도 계속 문제가 지속되는 경우가 많았다. 프로젝트 파일을 더블클릭해서 시작하는 방법도 항상 되는 것은 아니지만, 해결 방법이 뚜렷하지 않으니 이 방법이라도 사용하는 수 밖에. 그리고 핸들러를 추가할 때 해당 파일이 Read Only 속성이라면서 쓰지 못한다는 메세지로 에러 메세지를 던질텐데, 그렇다고 파일 속성을 변경하지 말기 바란다. 이것은 그런 종류의 버그가 아니고, 현재 프로젝트에서 해당 파일을 편집을 위해 열어두었다면, 그것을 닫고 다시 시도해보도록. 헤더 파일과 구현 파일을 모두 닫고 핸들러를 다시 추가해보라. 이 과정을 정리하면 다음과 같다.


* 핸들러를 추가하려고 할 때 Read Only로 설정되어 있어서 핸들러를 추가하지 못한다는 메세지가 나온다면,


1. 일단 Visaul Studio를 종료하고, 해당 프로젝트의 인텔리 센스 데이터베이스 파일을 삭제한다.

2. 해당 프로젝트 파일에서부터 다시 Visual Studio를 시작한다.

3. 핸들러를 추가하려고 하는 클래스의 헤더 파일과 구현 파일을 모두 닫은 뒤, 핸들러 추가 / 삭제를 시도해본다.