WPF 사용자 정의 컨트롤 미리보기 오류 (namespace 인식 안됨) 해결 방법
😢상황
- WPF 프로젝트에서 사용자 정의 컨트롤(UserControl) 을 정의하고
XAML에서<local:MyControl />
형태로 사용하려 함 - 그러나 Visual Studio 디자인 코드 창에 다음과 같은 메시지 발생:
"MyControl" 이름이 "clr-namespace:MyApp.Controls" 네임스페이스에 없습니다.
메시지 예시
- 컨트롤은 분명히 존재하지만 디자인 타임에서 인식되지 않아 미리보기 불가
🛠️해결법
해결 방법: 프로젝트를 한 번 빌드하면 해결됨
- 이 오류는 대부분 디자인 타임에서 사용자 정의 컨트롤 DLL을 찾지 못해 발생
- 빌드 이전에는 아직 해당 컨트롤이 컴파일되지 않았기 때문에 XAML 디자이너가 인식하지 못함
✅정리: 왜 이게 효과 있었는가?
- XAML 디자이너는 디자인 타임에 컴파일된 어셈블리를 기준으로 사용자 정의 컨트롤을 불러옴
- 초기에는 해당 컨트롤이 컴파일되지 않아 “네임스페이스에 없음” 오류 발생
- 한 번 빌드하면 컴파일 결과가 생성되고, 디자이너가 정상적으로 컨트롤을 로드