손상된 참조 문제 해결

적용 대상: Visual Studio

애플리케이션에서 끊어진 참조를 사용하려고 하면 예외 오류가 생성됩니다. 오류의 기본 이유는 참조된 구성 요소를 찾을 수 없기 때문이지만 참조가 손상된 것으로 간주되고 다음과 같은 몇 가지 시나리오가 있습니다.

  • 프로젝트의 참조 경로가 잘못되거나 불완전합니다.
  • 참조된 파일이 삭제되었습니다.
  • 참조된 파일의 이름이 바뀌었습니다.
  • 네트워크 연결 또는 인증에 실패했습니다.
  • 참조된 COM 구성 요소가 컴퓨터에 설치되어 있지 않습니다.

다음 몇 가지 섹션에서는 이러한 시나리오에 대한 해결 방법을 제공합니다.

참고

어셈블리의 파일은 프로젝트 파일의 절대 경로로 참조됩니다. 따라서 다중 개발자 환경에서 작업하는 사용자는 로컬 환경에서 참조된 어셈블리가 누락된 것을 발견할 수 있습니다. 이러한 오류를 방지하려면 프로젝트-프로젝트 참조를 추가하는 것이 좋습니다. 자세한 내용은 .NET의 어셈블리를 참조하세요.

참조 경로가 잘못되거나 불완전합니다.

프로젝트가 다른 컴퓨터에서 공유되는 경우 구성 요소가 다른 디렉터리에 있을 때 일부 참조를 찾을 수 없습니다. 참조는 구성 요소 파일의 이름(예: MyComponent)에 저장됩니다. 프로젝트에 대한 참조를 추가하면 구성 요소 파일의 폴더 위치(예 : C:\MyComponents)가 ReferencePath 프로젝트 속성에 추가됩니다.

프로젝트를 열 때 Visual Studio는 참조 경로의 디렉터리를 확인하여 이러한 구성 요소 파일을 찾아봅니다. D:\MyComponents와 같은 다른 디렉터리에 구성 요소를 저장하는 컴퓨터에서 프로젝트를 열면 참조를 찾을 수 없으며 작업 목록에 오류가 표시됩니다.

이 문제를 해결하려면 다음 방법 중 하나를 사용합니다.

  • 손상된 참조를 삭제한 다음 참조 추가 대화 상자를 사용하여 대체합니다.
  • 프로젝트의 속성 페이지에서 참조 경로 항목을 사용합니다. 목록의 폴더를 수정하여 올바른 위치를 가리킵니다. 참조 경로 속성은 각 컴퓨터의 각 사용자에 대해 유지됩니다. 따라서 참조 경로를 수정해도 프로젝트의 다른 사용자에게는 영향을 주지 않습니다.

프로젝트-프로젝트 참조에는 이러한 손상된 참조 문제가 없습니다. 이러한 이유로 가능한 경우 파일 참조 대신 Project-to-project 참조를 사용합니다.

손상된 프로젝트 참조 수정

손상된 프로젝트 참조를 수정하려면 다음 단계에 따라 참조 경로를 수정합니다.

  1. 솔루션 탐색기 프로젝트 노드를 마우스 오른쪽 단추로 클릭한 다음 속성을 선택합니다. 프로젝트 Designer 나타납니다.
  2. Visual Basic을 사용하는 경우 참조 페이지를 선택한 다음 참조 경로 를 선택합니다.
    1. 참조 경로 대화 상자에서 폴더 필드에 참조할 항목이 포함된 폴더의 경로를 입력합니다.
    2. 폴더 추가를 선택합니다.
  3. C#을 사용하는 경우 참조 경로 페이지를 선택합니다.
    1. 폴더 필드에 참조할 항목이 포함된 폴더의 경로를 입력합니다.
    2. 폴더 추가를 선택합니다.

참조된 파일이 삭제되었습니다.

다음은 드라이브에 더 이상 존재하지 않는 삭제된 파일에 대한 손상된 프로젝트 참조를 수정하는 두 가지 옵션입니다.

  • 참조를 삭제합니다.
  • 참조가 컴퓨터의 다른 위치에 있는 경우 해당 위치에서 읽습니다.

참조된 파일의 이름이 바뀌었습니다.

다음은 이름이 바뀐 파일에 대한 손상된 참조를 수정하는 두 가지 옵션입니다.

  • 참조를 삭제한 다음 이름이 바뀐 파일에 대한 참조를 추가합니다.
  • 참조가 컴퓨터의 다른 위치에 있는 경우 해당 위치에서 읽습니다.

네트워크 연결 또는 인증에 실패했습니다.

액세스할 수 없는 파일에 대한 여러 가지 가능한 원인이 있을 수 있습니다. 예를 들어 실패한 네트워크 연결 또는 실패한 인증이 있을 수 있습니다. 반대로 각 원인에는 고유한 복구 수단이 있을 수 있습니다. 예를 들어 필요한 리소스에 액세스하려면 로컬 관리자에게 문의해야 할 수 있습니다. 그러나 참조를 삭제하고 이를 사용한 코드를 수정하는 것은 항상 옵션입니다.

참조된 COM 구성 요소가 컴퓨터에 설치되지 않음

사용자가 COM 구성 요소에 대한 참조를 추가하고 두 번째 사용자가 이 구성 요소가 설치되지 않은 컴퓨터에서 코드를 실행하려고 하면 두 번째 사용자는 손상된 참조 오류를 받습니다. 두 번째 컴퓨터에 구성 요소를 설치하면 오류가 수정됩니다. 프로젝트에서 COM 구성 요소에 대한 참조를 사용하는 방법에 대한 자세한 내용은 .NET Framework 애플리케이션의 COM 상호 운용성을 참조하세요.

참조