C#

resolvecomreference" 작업이 false를 반환했지만 오류를 기록하지 않았습니다

samie 2025. 3. 25. 10:10

이번에 Windows 업데이트후 Visual Studio 프로젝트 컴파일하는 과정에서 [ resolvecomreference" 작업이 false를 반환했지만 오류를 기록하지 않았습니다 ] 라는 오류 발생 해결 방법

 

이 오류는 Visual Studio에서 프로젝트를 빌드할 때 ResolveComReference 작업이 실패했음을 의미하지만, 구체적인 오류 메시지는 기록되지 않았다는 뜻입니다. 보통 COM 참조 문제로 인해 발생합니다.

 

# 시도해본 방법 ( 구글 검색 및 GPT 참고)

1. 프로젝트 속성 확인 (COM 참조 문제 해결)

  1. Visual Studio에서 프로젝트를 열고 참조(References)를 확인하세요.
  2. 문제가 되는 COM 참조가 있는 경우 삭제한 후 다시 추가하세요.
  3. 속성(Properties)에서 Copy Local 값을 True로 설정해 보세요.

2. 빌드 환경 확인 (관리자 권한 및 대상 플랫폼)

  1. Visual Studio를 "관리자 권한"으로 실행하고 다시 빌드해 보세요.
  2. 프로젝트 속성 -> 빌드 -> 플랫폼 대상(Platform Target)이 올바르게 설정되었는지 확인하세요.
    • x86 또는 x64로 설정해야 할 수도 있음.

3. MSBuild 버전 확인

  1. 도구 -> 옵션 -> 프로젝트 및 솔루션 -> 빌드 및 실행에서 **MSBuild 출력 수준을 "진단(Diagnostic)"**으로 변경한 후 빌드하여 자세한 로그를 확인하세요.
  2. .NET 버전과 MSBuild 버전이 일치하는지 확인하세요.

4. COM 등록 확인

COM DLL이 등록되지 않아서 발생할 수도 있습니다.

  1. 명령 프롬프트(cmd)를 관리자 권한으로 실행하세요.
  2. 다음 명령어를 실행하여 DLL을 다시 등록합니다.
    • C:\Path\To\Your\ComDll.dll을 실제 DLL 경로로 변경하세요.
  3. sh
    복사편집
    regsvr32 "C:\Path\To\Your\ComDll.dll"

5. 캐시된 빌드 삭제 후 다시 빌드

  1. bin 및 obj 폴더를 삭제하세요.
  2. Visual Studio에서 빌드 -> 솔루션 정리 실행 후 다시 빌드하세요.

------------------------------------------------------------------------------------------------------------------------------------

 

아쉽게도 위 방법으로는 해결이 안되서 구글링을 더 해보면서 아래 Stack overflow 게시글에 나와있는 방법으로 해결이 됐다 ( 참고 : Stack overflow )

 

  1. 명령 프롬프트 관리자 권한으로 실행
    • cmd를 관리자 권한으로 실행합니다.
  2. 디렉터리 이동각 CD 명령은 해당 디렉터리로 이동하는 명령입니다. PublicAssemblies 디렉터리는 Visual Studio와 관련된 어셈블리들이 저장되는 곳입니다.
  3. sh
    복사편집
    CD C:\Program Files (x86) CD Microsoft Visual Studio\2019 CD Community\Common7\IDE\PublicAssemblies
  4. GAC에 DLL 등록gacutil -i 명령은 **Global Assembly Cache (GAC)**에 지정한 DLL을 등록하는 명령입니다. 이를 통해 해당 DLL이 GAC에 설치되어 시스템 전역에서 사용할 수 있게 됩니다.
  5. sh
    복사편집
    gacutil -i Microsoft.mshtml.dll
  6. 명령 프롬프트 종료명령어를 입력한 후 cmd 창을 종료합니다.
  7. sh
    복사편집
    exit

주의 사항

  • 이 명령어는 Microsoft.mshtml.dll이 GAC에 등록되지 않은 경우에만 필요합니다. 이미 등록되어 있는 경우, 추가적으로 실행할 필요는 없습니다.
  • gacutil은 Visual Studio Developer Command Prompt에서만 사용할 수 있습니다. 따라서 해당 명령을 실행할 때는 Visual Studio Developer Command Prompt에서 실행해야 합니다.
  • Microsoft.mshtml.dll 파일이 해당 위치에 없을 경우, 다른 경로에서 찾아서 등록해야 할 수 있습니다.