제목 보고 내용을 이미 아실 만한 분들은 이미 아실 것 같습니다. 문제를 해결한 결과를 공유하기 위해 Claude Code를 통해 정리해서 복붙한 글입니다. AI 문체 양해 부탁드립니다.
[해결됨] .NET OpenFileDialog/OpenFolderDialog 스크롤 시 Freeze 후 Crash 현상
환경
- Windows 10/11
- .NET WPF 애플리케이션
- NVIDIA GPU 드라이버 설치 환경
증상
Microsoft.WindowsAPICodePack.Shell의CommonOpenFileDialog또는Microsoft.Win32.OpenFolderDialog호출- 다이얼로그에서 파일/폴더 목록을 스크롤할 때 화면이 Freeze
- 이후 프로세스가 Crash되어 종료됨
원인
NVIDIA 드라이버와 함께 설치되는 Shell Extension이 원인이었습니다.
- Extension 이름:
NVIDIA CPL Context Menu Extension - 설명: NVIDIA Display Shell Extension
Windows 파일 다이얼로그는 폴더/파일 목록을 표시할 때 설치된 Shell Extension DLL을 프로세스 내부에서 로드합니다. 스크롤 시 새로운 항목이 화면에 표시되면 해당 항목에 대한 Extension 코드가 실행되는데, 이
과정에서 NVIDIA Shell Extension의 버그로 인해 프로세스 전체가 Crash됩니다.
Shell Extension 동작 구조
OpenFolderDialog 호출
↓
Windows Shell이 파일/폴더 목록 표시
↓
각 항목마다 Shell Extension DLL 로드 및 실행 (In-Process)
↓
스크롤 → 새 항목 표시 → Extension 코드 실행
↓
문제의 DLL에서 오류 발생 → 호스트 프로세스 Crash
Shell Extension은 당신의 프로세스 메모리 공간 안에서 실행됩니다. 별도 프로세스가 아니기 때문에 해당 DLL에서 오류가 나면 당신의 앱이 함께 죽습니다.
┌─────────────────────────────────────┐
│ 당신의 프로세스 (.exe) │
│ ┌─────────────────────────────┐ │
│ │ OpenFolderDialog │ │
│ │ ├─ Microsoft Shell DLL ✓ │ │
│ │ ├─ Dropbox.dll ✓ │ │
│ │ ├─ 문제의Extension.dll ✗ ←── 여기서 Crash │ │
│ │ └─ … │ │
│ └─────────────────────────────┘ │
└─────────────────────────────────────┘
↓ 전체 프로세스 사망
ShellExView로 문제의 DLL을 찾아 비활성화하면 해결됩니다.
해결 방법
1. ShellExView 다운로드
- https://www.nirsoft.net/utils/shexview-x64.zip
- 한국어 변환 ini: https://www.nirsoft.net/utils/trans/shexview_korean.zip (위 shexview-x64 폴더 안으로 파일 이동)
2. 관리자 권한으로 실행
shexview.exe → 우클릭 → 관리자 권한으로 실행
3. 범인 찾기
Options메뉴 →Hide All Microsoft Extensions체크- 분홍색 배경으로 출력되는 item 들이 예상되는 목록
- 껐다 켰다 하면서 범인 색출
4. 재부팅 또는 Explorer 재시작
변경사항 적용을 위해 Windows 탐색기를 재시작하거나 시스템을 재부팅합니다.
참고
- 이 문제는 특정 라이브러리(
WindowsAPICodePack)의 문제가 아닌 시스템 레벨의 Shell Extension 충돌입니다. Microsoft.Win32.OpenFolderDialog등 다른 파일 다이얼로그에서도 동일한 증상이 발생합니다.- NVIDIA 외에도 클라우드 스토리지(Dropbox, OneDrive), 압축 프로그램(7-Zip), 버전 관리 도구(TortoiseSVN/Git) 등의 Shell Extension에서 유사한 문제가 보고된 바 있습니다.
관련 링크
- ShellExView - Nirsoft
- The Case of the Crashing “Open File” Dialog in Windows 11
- Fix Slow Right Click and Crashes Caused by Shell Extensions
이번 기회에 Windows 파일 탐색기가 Shell Extension 이라는 것도 처음 알았습니다.