손상된 참조 문제 해결
적용 대상: Visual Studio
애플리케이션에서 끊어진 참조를 사용하려고 하면 예외 오류가 생성됩니다. 오류의 기본 이유는 참조된 구성 요소를 찾을 수 없기 때문이지만 참조가 손상된 것으로 간주되고 다음과 같은 몇 가지 시나리오가 있습니다.
- 프로젝트의 참조 경로가 잘못되거나 불완전합니다.
- 참조된 파일이 삭제되었습니다.
- 참조된 파일의 이름이 바뀌었습니다.
- 네트워크 연결 또는 인증에 실패했습니다.
- 참조된 COM 구성 요소가 컴퓨터에 설치되어 있지 않습니다.
다음 몇 가지 섹션에서는 이러한 시나리오에 대한 해결 방법을 제공합니다.
참고
어셈블리의 파일은 프로젝트 파일의 절대 경로로 참조됩니다. 따라서 다중 개발자 환경에서 작업하는 사용자는 로컬 환경에서 참조된 어셈블리가 누락된 것을 발견할 수 있습니다. 이러한 오류를 방지하려면 프로젝트-프로젝트 참조를 추가하는 것이 좋습니다. 자세한 내용은 .NET의 어셈블리를 참조하세요.
참조 경로가 잘못되거나 불완전합니다.
프로젝트가 다른 컴퓨터에서 공유되는 경우 구성 요소가 다른 디렉터리에 있을 때 일부 참조를 찾을 수 없습니다. 참조는 구성 요소 파일의 이름(예: MyComponent)에 저장됩니다. 프로젝트에 대한 참조를 추가하면 구성 요소 파일의 폴더 위치(예 : C:\MyComponents)가 ReferencePath 프로젝트 속성에 추가됩니다.
프로젝트를 열 때 Visual Studio는 참조 경로의 디렉터리를 확인하여 이러한 구성 요소 파일을 찾아봅니다. D:\MyComponents와 같은 다른 디렉터리에 구성 요소를 저장하는 컴퓨터에서 프로젝트를 열면 참조를 찾을 수 없으며 작업 목록에 오류가 표시됩니다.
이 문제를 해결하려면 다음 방법 중 하나를 사용합니다.
- 손상된 참조를 삭제한 다음 참조 추가 대화 상자를 사용하여 대체합니다.
- 프로젝트의 속성 페이지에서 참조 경로 항목을 사용합니다. 목록의 폴더를 수정하여 올바른 위치를 가리킵니다. 참조 경로 속성은 각 컴퓨터의 각 사용자에 대해 유지됩니다. 따라서 참조 경로를 수정해도 프로젝트의 다른 사용자에게는 영향을 주지 않습니다.
팁
프로젝트-프로젝트 참조에는 이러한 손상된 참조 문제가 없습니다. 이러한 이유로 가능한 경우 파일 참조 대신 Project-to-project 참조를 사용합니다.
손상된 프로젝트 참조 수정
손상된 프로젝트 참조를 수정하려면 다음 단계에 따라 참조 경로를 수정합니다.
- 솔루션 탐색기 프로젝트 노드를 마우스 오른쪽 단추로 클릭한 다음 속성을 선택합니다. 프로젝트 Designer 나타납니다.
- Visual Basic을 사용하는 경우 참조 페이지를 선택한 다음 참조 경로 를 선택합니다.
- 참조 경로 대화 상자에서 폴더 필드에 참조할 항목이 포함된 폴더의 경로를 입력합니다.
- 폴더 추가를 선택합니다.
- C#을 사용하는 경우 참조 경로 페이지를 선택합니다.
- 폴더 필드에 참조할 항목이 포함된 폴더의 경로를 입력합니다.
- 폴더 추가를 선택합니다.
참조된 파일이 삭제되었습니다.
다음은 드라이브에 더 이상 존재하지 않는 삭제된 파일에 대한 손상된 프로젝트 참조를 수정하는 두 가지 옵션입니다.
- 참조를 삭제합니다.
- 참조가 컴퓨터의 다른 위치에 있는 경우 해당 위치에서 읽습니다.
참조된 파일의 이름이 바뀌었습니다.
다음은 이름이 바뀐 파일에 대한 손상된 참조를 수정하는 두 가지 옵션입니다.
- 참조를 삭제한 다음 이름이 바뀐 파일에 대한 참조를 추가합니다.
- 참조가 컴퓨터의 다른 위치에 있는 경우 해당 위치에서 읽습니다.
네트워크 연결 또는 인증에 실패했습니다.
액세스할 수 없는 파일에 대한 여러 가지 가능한 원인이 있을 수 있습니다. 예를 들어 실패한 네트워크 연결 또는 실패한 인증이 있을 수 있습니다. 반대로 각 원인에는 고유한 복구 수단이 있을 수 있습니다. 예를 들어 필요한 리소스에 액세스하려면 로컬 관리자에게 문의해야 할 수 있습니다. 그러나 참조를 삭제하고 이를 사용한 코드를 수정하는 것은 항상 옵션입니다.
참조된 COM 구성 요소가 컴퓨터에 설치되지 않음
사용자가 COM 구성 요소에 대한 참조를 추가하고 두 번째 사용자가 이 구성 요소가 설치되지 않은 컴퓨터에서 코드를 실행하려고 하면 두 번째 사용자는 손상된 참조 오류를 받습니다. 두 번째 컴퓨터에 구성 요소를 설치하면 오류가 수정됩니다. 프로젝트에서 COM 구성 요소에 대한 참조를 사용하는 방법에 대한 자세한 내용은 .NET Framework 애플리케이션의 COM 상호 운용성을 참조하세요.