C#
resolvecomreference" 작업이 false를 반환했지만 오류를 기록하지 않았습니다
samie
2025. 3. 25. 10:10
이번에 Windows 업데이트후 Visual Studio 프로젝트 컴파일하는 과정에서 [ resolvecomreference" 작업이 false를 반환했지만 오류를 기록하지 않았습니다 ] 라는 오류 발생 해결 방법
이 오류는 Visual Studio에서 프로젝트를 빌드할 때 ResolveComReference 작업이 실패했음을 의미하지만, 구체적인 오류 메시지는 기록되지 않았다는 뜻입니다. 보통 COM 참조 문제로 인해 발생합니다.
# 시도해본 방법 ( 구글 검색 및 GPT 참고)
1. 프로젝트 속성 확인 (COM 참조 문제 해결)
- Visual Studio에서 프로젝트를 열고 참조(References)를 확인하세요.
- 문제가 되는 COM 참조가 있는 경우 삭제한 후 다시 추가하세요.
- 속성(Properties)에서 Copy Local 값을 True로 설정해 보세요.
2. 빌드 환경 확인 (관리자 권한 및 대상 플랫폼)
- Visual Studio를 "관리자 권한"으로 실행하고 다시 빌드해 보세요.
- 프로젝트 속성 -> 빌드 -> 플랫폼 대상(Platform Target)이 올바르게 설정되었는지 확인하세요.
- x86 또는 x64로 설정해야 할 수도 있음.
3. MSBuild 버전 확인
- 도구 -> 옵션 -> 프로젝트 및 솔루션 -> 빌드 및 실행에서 **MSBuild 출력 수준을 "진단(Diagnostic)"**으로 변경한 후 빌드하여 자세한 로그를 확인하세요.
- .NET 버전과 MSBuild 버전이 일치하는지 확인하세요.
4. COM 등록 확인
COM DLL이 등록되지 않아서 발생할 수도 있습니다.
- 명령 프롬프트(cmd)를 관리자 권한으로 실행하세요.
- 다음 명령어를 실행하여 DLL을 다시 등록합니다.
- C:\Path\To\Your\ComDll.dll을 실제 DLL 경로로 변경하세요.
-
sh복사편집regsvr32 "C:\Path\To\Your\ComDll.dll"
5. 캐시된 빌드 삭제 후 다시 빌드
- bin 및 obj 폴더를 삭제하세요.
- Visual Studio에서 빌드 -> 솔루션 정리 실행 후 다시 빌드하세요.
------------------------------------------------------------------------------------------------------------------------------------
아쉽게도 위 방법으로는 해결이 안되서 구글링을 더 해보면서 아래 Stack overflow 게시글에 나와있는 방법으로 해결이 됐다 ( 참고 : Stack overflow )
- 명령 프롬프트 관리자 권한으로 실행
- cmd를 관리자 권한으로 실행합니다.
- 디렉터리 이동각 CD 명령은 해당 디렉터리로 이동하는 명령입니다. PublicAssemblies 디렉터리는 Visual Studio와 관련된 어셈블리들이 저장되는 곳입니다.
-
sh복사편집CD C:\Program Files (x86) CD Microsoft Visual Studio\2019 CD Community\Common7\IDE\PublicAssemblies
- GAC에 DLL 등록gacutil -i 명령은 **Global Assembly Cache (GAC)**에 지정한 DLL을 등록하는 명령입니다. 이를 통해 해당 DLL이 GAC에 설치되어 시스템 전역에서 사용할 수 있게 됩니다.
-
sh복사편집gacutil -i Microsoft.mshtml.dll
- 명령 프롬프트 종료명령어를 입력한 후 cmd 창을 종료합니다.
-
sh복사편집exit
주의 사항
- 이 명령어는 Microsoft.mshtml.dll이 GAC에 등록되지 않은 경우에만 필요합니다. 이미 등록되어 있는 경우, 추가적으로 실행할 필요는 없습니다.
- gacutil은 Visual Studio Developer Command Prompt에서만 사용할 수 있습니다. 따라서 해당 명령을 실행할 때는 Visual Studio Developer Command Prompt에서 실행해야 합니다.
- Microsoft.mshtml.dll 파일이 해당 위치에 없을 경우, 다른 경로에서 찾아서 등록해야 할 수 있습니다.