다음을 통해 공유


시스템 다이어그램 문제 해결

업데이트: 2007년 11월

시스템 디자이너에서 작업할 때 특정 작업은 시스템 다이어그램뿐만 아니라 기타 분산 시스템 다이어그램에도 영향을 줄 수 있습니다. 이 항목에서는 이러한 작업 수행으로 초래되는 특정 조건, 관련 항목에 대한 영향 및 이러한 조건을 해결하기 위해 수행할 수 있는 단계에 대해 설명합니다. 다음 목록에서는 시스템 다이어그램에 나타날 수 있는 경고 상태뿐만 아니라 해결해야 할 기타 문제에 대해 설명합니다.

  • 시스템 다이어그램의 경고 상태

  • 시스템 다이어그램 열기, 닫기 및 제거

  • 코드가 실행되는 동안 시스템 다이어그램 수정

시스템 다이어그램의 경고 상태

다음 표에서는 시스템 다이어그램에 표시될 수 있는 경고 상태에 대해 설명합니다.

경고 상태

가능한 원인

멤버의 빨강 파선 윤곽선

  • 멤버의 시스템 다이어그램이 닫혀 있는 상태에서 해당 멤버의 정의가 이름이 바뀌거나, 삭제되거나, 누락되었습니다.

  • 멤버의 시스템 다이어그램이 닫혀 있는 상태에서 해당 멤버 정의의 문화권, 버전 또는 문서 이름 속성이 변경되었습니다.

  • 멤버가 응용 프로그램인 경우 해당 응용 프로그램 정의와 관련된 프로젝트가 솔루션에서 제거되었거나, 언로드되었거나, 누락되었습니다.

예를 들어 응용 프로그램 시스템 및 해당 정의의 멤버는 이름별로 연결되므로 Visual Studio에서는 멤버의 정의가 변경된 경우 닫혀 있는 시스템 다이어그램에서 해당 응용 프로그램 시스템 멤버를 업데이트하지 않습니다. 이로 인해 닫혀 있는 시스템 다이어그램에서 응용 프로그램 시스템 멤버로서의 정의 사용과 해당 정의 간의 연결이 끊어집니다. 

이 다이어그램을 다시 열면 링크가 끊어진 멤버("고아 멤버"라고도 함)는 빨강 파선 윤곽선으로 표시됩니다. 고아 멤버 정의의 이름을 바꾼 경우 해당 멤버에는 이전의 정의 이름이 표시되고, 그렇지 않은 경우에는 해당 멤버에 현재 정의 이름이 표시됩니다. 어느 쪽이든 물결 모양의 선이 정의 이름에 밑줄로 표시됩니다.

다음 표에는 이러한 경고 상태가 나타나게 할 수 있는 시나리오가 요약되어 있습니다.

작업

해결 방법

멤버의 시스템 다이어그램이 닫혀 있는 상태에서 해당 멤버의 정의 이름을 바꿉니다.

고아 멤버와 연결할 이름이 바뀐 정의를 선택하여 해당 멤버를 복구합니다. 자세한 내용은 방법: 응용 프로그램 시스템의 고아 멤버 복구를 참조하십시오.

정의를 선택하지 않는 경우 정의 이름을 이전 이름으로 일시적으로 복원한 후 시스템 다이어그램이 열려 있는 상태에서 정의 이름을 바꿀 수도 있습니다. 자세한 내용은 방법: 시스템 다이어그램에서 응용 프로그램 및 시스템 정의 보기방법: 응용 프로그램 다이어그램에서 응용 프로그램 이름 바꾸기를 참조하십시오.

멤버의 시스템 다이어그램이 닫혀 있는 상태에서 해당 멤버의 정의 이름을 삭제합니다.

고아 멤버와 연결할 다른 정의를 선택하여 해당 멤버를 복구합니다. 자세한 내용은 방법: 응용 프로그램 시스템의 고아 멤버 복구를 참조하십시오.

고아 멤버를 복구하지 않으려면 해당 멤버가 들어 있는 시스템 다이어그램에서 삭제하면 됩니다. 자세한 내용은 방법: 응용 프로그램 시스템에서 멤버 삭제를 참조하십시오.

멤버의 정의가 누락되었습니다.

솔루션에 누락된 정의를 추가합니다.

참고:

누락된 응용 프로그램 정의에는 외부 웹 서비스, 데이터베이스 및 제네릭 응용 프로그램의 경우와 같은 누락된 응용 프로그램 정의 파일(.sdm)이 포함될 수 있습니다. 누락된 시스템 정의는 누락된 시스템 다이어그램 파일(.sd)입니다.

예를 들어 누락된 정의가 시스템이면 시스템 다이어그램을 솔루션에 다시 추가합니다. 자세한 내용은 방법: 솔루션에 시스템 다이어그램 추가를 참조하십시오.

누락된 정의를 찾을 수 없는 경우 다음 작업 중 하나를 수행합니다.

멤버의 시스템 다이어그램이 닫혀 있는 상태에서 해당 멤버 정의의 문화권, 버전 또는 문서 이름 속성을 변경합니다.

고아 멤버와 연결할 업데이트된 정의를 선택하여 해당 멤버를 복구합니다. 자세한 내용은 방법: 응용 프로그램 시스템의 고아 멤버 복구를 참조하십시오.

정의를 선택하지 않는 경우 정의 속성을 이전 값으로 일시적으로 복원한 후 시스템 다이어그램이 열려 있는 상태에서 정의를 업데이트할 수도 있습니다. 자세한 내용은 방법: 시스템 다이어그램에서 응용 프로그램 및 시스템 정의 보기방법: 응용 프로그램 다이어그램에서 응용 프로그램 이름 바꾸기를 참조하십시오.

솔루션에서 구현된 응용 프로그램 정의에 대한 프로젝트를 제거하거나 언로드합니다.

프로젝트를 솔루션에 다시 추가하거나 프로젝트를 다시 로드합니다.

자세한 내용은 다음 항목을 참조하십시오.

구현된 응용 프로그램 정의 프로젝트를 더 이상 사용할 수 없으며 솔루션에서 언로드된 것으로 표시됩니다.

솔루션에서 언로드된 프로젝트를 제거하고 시스템 다이어그램에서 고아 멤버에 대해 다른 정의를 선택합니다. 고아 멤버를 복구한 후에는 응용 프로그램 다이어그램에서 고아 정의를 삭제합니다.

자세한 내용은 방법: 응용 프로그램 시스템의 고아 멤버 복구를 참조하십시오.

다른 솔루션으로부터 시스템 다이어그램을 추가합니다.

구현되지 않은 누락된 응용 프로그램의 경우 동일한 종류의 새 응용 프로그램을 응용 프로그램 다이어그램에 추가합니다. 또한 고아 멤버와 연결할 다른 정의를 선택하여 해당 멤버를 복구할 수도 있습니다. 자세한 내용은 방법: 응용 프로그램 시스템의 고아 멤버 복구를 참조하십시오.

누락되어 있는 구현된 응용 프로그램 정의의 경우 누락된 해당 정의에 대한 프로젝트를 솔루션에 추가합니다. 자세한 내용은 방법: 기존 솔루션에서 프로젝트 리버스 엔지니어링을 참조하십시오. 예를 들어 다른 솔루션에서 응용 프로그램을 구현한 다음 해당 프로젝트를 현재 솔루션에 추가할 수도 있습니다. 자세한 내용은 방법: 응용 프로그램 다이어그램에서 응용 프로그램 구현을 참조하십시오.

누락된 시스템 정의의 경우 해당 정의의 시스템 다이어그램을 현재 솔루션에 추가합니다. 자세한 내용은 방법: 솔루션에 시스템 다이어그램 추가를 참조하십시오.

여러 솔루션 또는 Visual Studio 인스턴스 간에 시스템 멤버를 복사합니다.

누락된 응용 프로그램 정의의 경우 현재 솔루션의 응용 프로그램 다이어그램에 정의를 복사합니다. 응용 프로그램 정의가 구현되면 해당 응용 프로그램에 대한 프로젝트를 추가합니다. 자세한 내용은 방법: 기존 솔루션에서 프로젝트 리버스 엔지니어링을 참조하십시오.

누락된 시스템(멤버) 정의의 경우 해당 시스템을 정의하는 시스템 다이어그램을 현재 솔루션에 추가합니다. 자세한 내용은 방법: 솔루션에 시스템 다이어그램 추가를 참조하십시오.

시스템 다이어그램 열기, 닫기 및 제거

솔루션으로부터 시스템 다이어그램을 열거나, 닫거나, 제거하면 솔루션의 다른 다이어그램에 다음과 같은 영향이 있습니다.

  • 시스템 다이어그램을 열면 응용 프로그램 다이어그램과 열려 있는 시스템 다이어그램에서 참조하는 다른 모든 시스템 다이어그램이 열립니다.

  • 시스템 다이어그램을 닫으려면 해당 시스템 다이어그램을 참조하는 모든 시스템 및 배포 다이어그램을 저장하고 닫아야 합니다.

    팁:

    시스템 다이어그램을 저장하지 않고 닫으려면 먼저 관련 시스템 또는 배포 다이어그램을 모두 닫습니다.

  • 시스템 다이어그램을 솔루션에서 제거하려면 솔루션에 열려 있는 다른 모든 다이어그램을 먼저 닫아야 합니다.

코드가 실행되는 동안 시스템 다이어그램 수정

코드가 실행되고 있는 동안 새 시스템 다이어그램을 추가하고 이 다이어그램에 응용 프로그램 사용 정의를 추가하는 등의 작업을 수행하면 Visual Studio에서 응답이 중지됩니다.

팁:

이런 상황이 발생하지 않도록 하려면 다이어그램에 대해 작업을 수행하기 전에 코드 실행을 중지합니다.

참고 항목

기타 리소스

시스템 다이어그램에서 응용 프로그램 시스템 디자인