응용 프로그램 다이어그램 문제 해결

업데이트: 2007년 11월

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

다음 목록에서는 이러한 작업으로 인해 발생할 수 있는 경고 상태와 문제 해결에 필요할 수 있는 그 밖의 영역을 보여 줍니다.

  • 응용 프로그램 다이어그램의 경고 상태

  • 잠긴 응용 프로그램 다이어그램

  • 동기화 문제

  • 응용 프로그램 다이어그램 닫기 및 제거

  • 클래스 라이브러리의 웹 참조 리버스 엔지니어링

문제를 해결하는 데 필요한 기타 영역을 보려면 다음 항목을 참조하십시오.

응용 프로그램 다이어그램의 경고 상태

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

경고 상태

가능한 원인

빨강 파선 윤곽선

응용 프로그램 또는 끝점 정의 모양은 다음 항목에 대한 링크가 끊어지면 빨강 파선 윤곽선으로 표시됩니다.

  • 끝점 또는 응용 프로그램의 SDM(시스템 정의 모델) 정의가 없습니다.

  • 구현된 응용 프로그램 정의와 관련된 프로젝트가 없거나 언로드되었거나 사용할 수 없는 상태입니다.

이와 같이 링크가 끊어진 응용 프로그램 또는 끝점 정의를 “고아”라고도 합니다.

빨강 오류(X)

응용 프로그램 정의에 유효성 검사 오류가 있습니다. 이 아이콘은 응용 프로그램 정의 모양에서 응용 프로그램 종류 이름 아래에 표시됩니다.

노랑 경고(!)

다음 중 하나입니다.

  • .NET 웹 서비스 공급자 끝점을 만드는 데 웹 서비스 클래스 정의 인라인이 들어 있는 .asmx 파일이 사용되었습니다.

  • 웹 서비스 소비자 끝점이 구현되지 않았습니다.

  • 웹 서비스 공급자와 소비자 끝점 간에 WSDL 바인딩 이름 및 네임스페이스가 일치하지 않습니다.

  • 프로젝트 파일이 컴파일되지 않거나 구문 분석되지 않습니다.

  • 웹 서비스 공급자 끝점과 관련된 웹 서비스 클래스의 언어가 해당 클래스가 들어 있는 프로젝트의 언어와 일치하지 않습니다.

다음 단원에는 표시될 수 있는 경고 상태에 대한 자세한 내용이 들어 있습니다.

  • 응용 프로그램 또는 끝점의 오류 경고 상태

  • 응용 프로그램 또는 끝점의 경고 상태

응용 프로그램 또는 끝점의 오류 경고 상태

다음과 같은 경우 응용 프로그램 또는 끝점에 오류 경고 상태가 표시될 수 있습니다.

  • 끝점 또는 응용 프로그램의 SDM(시스템 정의 모델) 정의가 없습니다.

    응용 프로그램 또는 끝점 정의는 해당 SDM 메타데이터가 없으면 고아로 표시됩니다. SDM 메타데이터가 응용 프로그램 정의(.sdm) 파일에 없거나 응용 프로그램 정의의 .sdm 파일이 솔루션에 더 이상 없는 경우 이 오류가 발생할 수 있습니다. SDM에 대한 자세한 내용은 SDM 개요를 참조하십시오.

    예를 들어 응용 프로그램 다이어그램이 닫혀 있는 상태에서 응용 프로그램 정의의 .sdm 파일을 삭제하면 응용 프로그램 정의 및 시스템 다이어그램의 멤버로 지정된 해당 사용이 고아로 표시됩니다. 응용 프로그램 다이어그램을 다시 열면 Visual Studio에서는 다른 소스에서 다시 만들 수 있는 SDM 정보를 사용하여 .sdm 파일을 다시 생성합니다. 또한 Visual Studio에서는 다시 생성된 .sdm 파일을 기반으로 응용 프로그램 다이어그램에서 새 응용 프로그램 정의를 다시 만듭니다.

    참고:

    다시 생성되는 .sdm 파일에는 이전에 삭제된 .sdm 파일에만 저장된 정보가 포함되어 있지 않습니다. 특정 설정 및 제약 조건과 응용 프로그램 정의의 ID에 대한 변경 내용(해당 이름, SDM 문서 이름, 문화권 또는 버전) 등과 같은 특정 정보는 손실됩니다. 예를 들어 ASP.NET 응용 프로그램의 웹 콘텐츠 끝점에 대한 SDM 정보는 .sdm 파일에만 저장됩니다. .sdm 파일이 삭제되면 Visual Studio에서는 응용 프로그램 다이어그램을 다시 열 때 파일을 다시 생성합니다. 그러나 Visual Studio에서는 웹 콘텐츠 끝점을 리버스 엔지니어링하지 않으므로 이러한 끝점은 고아 상태로 유지됩니다.

    고아 정의 문제를 해결하려면 .sdm 파일을 복원합니다. .sdm 파일을 복원할 수 없는 경우에는 새 정의에 필요한 새 끝점을 추가하고 고아 정의의 응용 프로그램 정의를 새 정의에 다시 연결합니다. 시스템 다이어그램에 고아 정의로 인해 생성되는 고아 멤버가 들어 있는 경우에는 해당 멤버를 새 정의에 연결하여 복구합니다. 마지막으로 고아 정의를 응용 프로그램 다이어그램에서 삭제합니다. 자세한 내용은 방법: 응용 프로그램 시스템의 고아 멤버 복구를 참조하십시오.

  • 구현된 응용 프로그램 정의에 대한 프로젝트가 없거나 솔루션에서 언로드되었습니다.

    해당 프로젝트가 없거나 솔루션에서 언로드된 경우 구현된 응용 프로그램 정의 및 연결된 모든 항목은 고아로 표시됩니다.

    이 문제를 해결하려면 프로젝트를 다시 솔루션에 추가하거나 프로젝트를 다시 로드합니다. 자세한 내용은 방법: 기존 솔루션에서 프로젝트 리버스 엔지니어링방법: 프로젝트 언로드 및 다시 로드를 참조하십시오.

  • 구현된 응용 프로그램 정의에 대한 프로젝트를 더 이상 사용할 수 없습니다.

    구현된 응용 프로그램 정의 및 연결된 모든 항목은 고아로 표시되고 해당 프로젝트는 솔루션에서 언로드된 것으로 표시됩니다.

    이 문제를 해결하려면 솔루션에서 언로드된 프로젝트를 제거하고 응용 프로그램 다이어그램에서 응용 프로그램 정의를 삭제합니다.

  • 응용 프로그램에 유효성 검사 오류가 있는 경우

    응용 프로그램에 빨강 오류 아이콘이 표시됩니다. 오류를 검토하고 해결할 수 있도록 오류 목록 창에 유효성 검사 오류가 표시됩니다. 자세한 내용은 오류 목록 창을 참조하십시오.

응용 프로그램 또는 끝점의 경고 상태

다음과 같은 경우 응용 프로그램 또는 끝점에 노랑 경고 상태가 표시될 수 있습니다.

  • .NET 웹 서비스 공급자 끝점을 만드는 데 웹 서비스 클래스 정의 인라인이 들어 있는 .asmx 파일이 사용되었습니다.

    끝점을 만드는 데 웹 서비스 클래스 정의 인라인이 들어 있는 .asmx 파일이 사용된 경우 .NET 웹 서비스 공급자 끝점에 경고 아이콘이 표시됩니다.

    이 문제를 해결하려면 웹 서비스를 별도의 코드 파일이나 "코드 숨김" 파일의 단일 클래스 정의 내에 정의해야 합니다. 자세한 내용은 응용 프로그램 다이어그램의 ASP.NET 응용 프로그램 개요를 참조하십시오.

  • 웹 서비스 소비자 끝점이 성공적으로 구현되지 않은 경우

    웹 참조를 만들 수 없으므로 소비자 끝점에 경고 아이콘이 표시됩니다. 문제를 해결한 후 소비자 끝점을 구현할 수 있습니다.

    소비자 끝점을 구현하려면 웹 서비스 소비자 끝점을 선택하고 다이어그램 메뉴에서 구현을 가리킨 다음 구현을 선택합니다. 끝점을 마우스 오른쪽 단추로 클릭한 후에 구현을 선택할 수도 있습니다.

    다음 표에서는 이러한 문제가 발생할 수 있는 시나리오에 대해 설명합니다.

    문제

    이 문제를 해결하려면

    작업이 정의되어 있지 않은 형식을 참조하는 웹 서비스 공급자 끝점에 소비자 끝점이 연결되어 있습니다.

    웹 서비스 공급자 끝점에 형식을 정의한 다음 소비자 끝점을 구현합니다. 자세한 내용은 방법: ASP.NET 웹 서비스의 작업 및 매개 변수 형식 정의를 참조하십시오.

    구현되지 않은 웹 서비스 공급자 끝점에 소비자 끝점이 연결되어 있습니다.

    웹 서비스 공급자 끝점으로 ASP.NET 응용 프로그램을 구현합니다. 연결되었으나 구현되지는 않은 모든 소비자 끝점이 자동으로 구현됩니다.

    참고:

    지정된 WSDL 위치에서도 WSDL 파일이 사용 가능한지 확인합니다.

    WSDL 파일을 다운로드하는 동안 오류가 발생했습니다.

    .NET 웹 서비스 공급자 끝점이 구현되고 솔루션의 .asmx 파일에 해당하는 경우 런타임 오류로 인해 이 문제가 발생할 수 있습니다. 이 오류를 보려면 솔루션 탐색기에서 .asmx 파일을 마우스 오른쪽 단추로 클릭하고 브라우저에서 보기를 선택하여 테스트 페이지를 엽니다. 오류를 수정한 후에 소비자 끝점을 마우스 오른쪽 단추로 클릭한 다음 웹 참조를 새로 고칩니다.

    웹 서비스 공급자 끝점이 WS-I(Web Services Interoperability) Basic Profile1 버전 1.1에 맞아야 하지만 맞지 않습니다.

    웹 서비스 클래스 파일에서 다음 특성을 찾습니다.

    <WebServiceBinding(Name:="WebServiceName", ConformsTo:= WsiProfiles.BasicProfile1_1, EmitConformanceClaims:=True)> _

    다음 중 하나를 선택합니다.

    • 웹 서비스가 WS-I Basic Profile과 호환되게 하려면 웹 서비스의 .asmx 파일에 대한 테스트 페이지를 열어서 해결해야 하는 오류나 경고 목록을 검토합니다.

      팁:

      이 작업을 수행하려면 솔루션 탐색기에서 .asmx 파일을 마우스 오른쪽 단추로 클릭하고 브라우저에서 보기를 선택합니다. 오류를 수정한 후에 소비자 끝점을 마우스 오른쪽 단추로 클릭한 다음 웹 참조를 새로 고칩니다.

      -또는-

    • 웹 서비스가 WS-I Basic Profile과 호환되지 않게 하려면 웹 서비스 클래스 파일에서 ConformsTo 및 EmitConformanceClaims 특성을 제거합니다.

    IIS 또는 ASP.NET 개발 서버가 실행되고 있지 않으므로 WSDL 파일에 액세스할 수 없습니다.

    IIS 또는 ASP.NET 개발 서버가 실행되고 있는지 확인합니다. 자세한 내용은 사용하는 IIS 버전의 제품 설명서를 검토하고 Visual Web Developer의 웹 서버를 참조하십시오.

    Microsoft IIS(인터넷 정보 서비스)에 대해 ASP.NET이 비활성화되어 있습니다.

    IIS에서 ASP.NET을 활성화합니다. 자세한 내용은 사용하는 IIS 버전의 제품 설명서를 검토하십시오.

    유니코드 URL에 대한 웹 참조가 6.0 이전 버전의 IIS에서 지원되지 않습니다.

    IIS 6.0으로 업그레이드합니다. 자세한 내용은 https://go.microsoft.com/fwlink/?LinkID=42196의 Microsoft IIS(인터넷 정보 서비스)에 대한 제품 설명서와 https://go.microsoft.com/fwlink/?LinkID=34154의 Microsoft Windows Server 2003 Deployment Kit를 검토하십시오.

    1WS-I Basic Profile은 웹 서비스가 서로 호환되도록 하는 권장 사항이 들어 있는 사양입니다. WS-I에 대한 자세한 내용은 https://go.microsoft.com/fwlink/?LinkId=49585에서 온라인 MSDN의 Interoperability Resources를 참조하십시오.

  • 웹 서비스 공급자와 소비자 끝점 간에 WSDL 바인딩 이름 및 바인딩 네임스페이스가 일치하지 않는 경우

    WSDL 바인딩 이름 및 바인딩 네임스페이스가 일치하지 않는 웹 서비스 끝점에 연결하려고 시도하면 경고 도구 설명이 표시되지만 연결할 수는 있습니다.

  • 프로젝트 파일이 컴파일되지 않거나 구문 분석되지 않는 경우

    프로젝트 파일을 구문 분석할 수 없는 경우 응용 프로그램에 경고가 표시됩니다. 오류 목록 창에 응용 프로그램 이름, 프로젝트 파일 및 컴파일되지 않거나 구문 분석되지 않는 줄의 위치가 표시됩니다.

    이 문제를 해결하려면 지정된 파일에서 구문 분석 또는 컴파일 오류를 수정하거나 구문 분석 또는 컴파일 오류를 발생시키는 변경 내용을 취소합니다.

  • 웹 서비스 공급자 끝점과 관련된 웹 서비스 클래스의 언어가 해당 클래스가 들어 있는 프로젝트의 언어와 일치하지 않습니다.

    웹 서비스 클래스 파일의 언어가 해당 파일이 들어 있는 응용 프로그램 프로젝트의 언어와 일치하지 않을 경우 웹 서비스 공급자 끝점에 경고 아이콘이 표시됩니다. 프록시 클래스가 없기 때문에 웹 서비스 소비자 끝점에도 경고가 표시됩니다.

    이 문제를 해결하려면 웹 서비스의 언어가 웹 서비스 공급자 응용 프로그램의 언어와 일치해야 합니다.

잠긴 응용 프로그램 다이어그램

응용 프로그램 다이어그램이 잠겨 읽기 전용 상태로 표시되는 경우가 있습니다. 이러한 경우 다이어그램이 회색으로 표시되고, 다이어그램에서 응용 프로그램 정의에 자물쇠 모양이 표시되고, 다이어그램을 변경할 수 없게 됩니다. 다음과 같은 경우 응용 프로그램 다이어그램이 잠깁니다.

  • 응용 프로그램 프로젝트의 코드 또는 클래스 파일이 컴파일되지 않거나 구문 분석되지 않는 경우

    다이어그램이 잠기며, 컴파일되지 않거나 구문 분석되지 않는 하나 이상의 파일과 해당 파일의 오류 위치가 오류 목록 창에 표시됩니다.

    이 문제를 해결하려면 지정된 파일에서 컴파일 또는 구문 분석 오류를 수정하거나 컴파일 또는 구문 분석 오류를 발생시킨 변경 내용을 취소합니다.

  • 구성 파일에서 암호화된 섹션을 변경하려고 시도했는데 이 섹션의 암호 해독에 실패한 경우

    암호화되어 있는 구성 파일 섹션을 편집하려면 암호를 해독해야 합니다. 그렇지 않으면 다이어그램이 잠기며 오류 목록 창에 다이어그램이 잠겨 있다고 나타납니다.

    이 문제를 해결하려면 필요한 암호 해독 공급자와 키를 설치하고 수동으로 파일의 암호를 해독합니다. 응용 프로그램 다이어그램을 닫은 다음 다시 열어야 할 수도 있습니다. 또한 구성 파일에서 암호화된 섹션을 제거할 수 있습니다. 암호화된 데이터를 제거하면 암호화된 섹션도 삭제됩니다. 자세한 내용은 응용 프로그램 구현을 위한 고려 사항을 참조하십시오. 자세한 내용은 보호되는 구성을 사용하여 구성 정보 암호화구성 섹션 암호화 및 해독을 참조하십시오.

  • 응용 프로그램 다이어그램에 대한 변경 내용이 소스 코드 제어에서 체크 인된 상태로 남아 있는 다른 프로젝트 파일과 동기화될 수 없는 경우

    다이어그램이 잠기며, 오류 목록 창에 체크 아웃이 취소되었기 때문에 동기화 오류가 발생했다고 나타납니다.

    이 문제를 해결하려면 변경 내용과 동기화될 수 있도록 필요한 파일을 체크 아웃한 다음 응용 프로그램 다이어그램을 닫은 후 다시 엽니다. 자세한 내용은 소스 제어에서 사용 중인 SDM 문서를 참조하십시오.

    예를 들어, 웹 서비스에 대한 .asmx 파일이 삭제되고 소스 코드 제어 옵션이 항상 작업 파일을 체크 아웃하도록 설정되어 있는 경우 이러한 문제가 발생할 수 있습니다. 이 문제를 해결하려면, 체크 아웃되어 있지 않은 경우 해당 프로젝트에서 응용 프로그램 정의 파일(.sdm)뿐만 아니라 응용 프로그램 다이어그램 파일(.ad)도 체크 아웃합니다. 이 작업을 수행한 후 응용 프로그램 다이어그램을 닫은 다음 다시 엽니다.

  • 동기화를 위해 응용 프로그램 다이어그램을 체크 아웃할 수 없는 경우

    응용 프로그램 다이어그램이 소스 코드 제어에 체크 인되어 있으면 동기화를 위해 소스 코드 제어에서 다이어그램을 체크 아웃할 수 없을 경우 다이어그램이 잠깁니다. 소스 코드 제어 설정이 파일의 서버 버전을 체크 아웃하도록 설정되어 해당 파일이 다시 로드되는 경우 이러한 문제가 발생합니다. 그러나 SDM 문서는 동기화하는 동안 다시 로드되지 않으므로 다이어그램이 체크 아웃될 수 없으며 잠깁니다.

    이 문제를 해결하려면 다이어그램을 닫은 다음 다시 열어 다이어그램을 동기화합니다. 이 문제가 발생하지 않게 하려면 소스 코드 제어 옵션을 항상 작업 폴더 버전을 체크 아웃하도록 변경하거나 파일을 다시 로드해야 하는 작업을 하기 전에 항상 해당 파일을 체크 아웃하도록 변경합니다. 자세한 내용은 소스 제어에서 사용 중인 SDM 문서를 참조하십시오.

  • 소스 코드 제어에서 솔루션에 추가된 응용 프로그램 프로젝트의 .sdm 파일에 대한 체크 아웃을 사용자가 취소한 경우

    솔루션에 응용 프로그램 다이어그램 파일(.ad)이 들어 있고 응용 프로그램 다이어그램의 응용 프로그램에 대해 이전에 생성된 프로젝트가 소스 코드 제어에서 솔루션에 추가된 경우 Visual Studio에서는 소스 코드 제어 설정에 따라 해당 프로젝트에서 .sdm 파일을 자동으로 체크 아웃하거나 해당 파일을 체크 아웃하라는 메시지가 표시됩니다. 이 .sdm 파일에 대한 체크 아웃이 취소되면 다이어그램이 열려 있거나 다음에 열릴 때 해당 파일이 잠깁니다.

    이 문제를 해결하려면 .sdm 파일을 닫고 수동으로 .sdm 파일을 체크 아웃한 다음 다이어그램을 다시 엽니다. 다이어그램을 다시 열 때 .sdm 파일을 체크 아웃할 수도 있습니다. 이 문제가 발생하지 않게 하려면 .sdm 파일을 체크 아웃하라는 메시지가 표시될 때 체크 아웃을 취소하십시오. 자세한 내용은 소스 제어에서 사용 중인 SDM 문서를 참조하십시오.

  • 응용 프로그램 다이어그램에서 이름이 변경된 웹 서비스 공급자 끝점에 대한 웹 참조가 포함된 Windows 응용 프로그램 프로젝트에 대한 체크 아웃을 사용자가 취소하고 해당 Windows 프로젝트와 연결된 App.config 및 Settings.settings 파일에 대한 체크 아웃을 사용자가 취소한 경우

    Windows 응용 프로그램 프로젝트의 웹 참조와 연결된 .NET 웹 서비스 공급자 끝점의 이름이 변경되면 Visual Studio에서는 소스 코드 제어 설정에 따라 Windows 응용 프로그램 프로젝트를 자동으로 체크 아웃하거나 해당 파일을 체크 아웃하라는 메시지를 표시하여 웹 참조가 업데이트되도록 합니다. 자세한 내용은 응용 프로그램 다이어그램의 ASP.NET 응용 프로그램 개요를 참조하십시오. 프로젝트에 대한 체크 아웃이 취소되는 경우 .NET 웹 서비스 공급자 끝점과 연결된 .asmx 파일 및 클래스 파일의 이름이 이전 이름으로 다시 변경됩니다. 그런 다음 Visual Studio에서는 해당 프로젝트와 연결된 App.config 파일 및 Settings.settings 파일을 체크 아웃하거나 체크 아웃하라는 메시지를 표시합니다. 이러한 파일에 대한 체크 아웃을 사용자가 취소하는 경우 응용 프로그램 다이어그램은 열려 있거나 다음에 열릴 때 잠깁니다.

    이 문제를 해결하려면 다이어그램을 잠그고, 다이어그램을 다시 열기 전이나 다시 열 때 수동으로 필요한 파일을 체크 아웃합니다. 이 문제가 발생하지 않게 하려면 App.config 및 Settings.settings 파일을 체크 아웃하라는 메시지가 표시될 때 체크 아웃을 취소하지 마십시오. 체크 아웃을 수락하면 .NET 웹 서비스 공급자 끝점 이름의 대문자가 소문자로 변경됩니다.

  • 응용 프로그램 다이어그램 파일(.ad)이 열려 있는 상태로 소스 코드 컨트롤에서 최신 버전의 SDM 문서를 가져오려는 경우

    이 작업을 수행하려면 응용 프로그램 다이어그램을 다시 로드해야 하며 이들 파일이 동기화되지 않을 수 있습니다. 응용 프로그램 다이어그램이 열려 있는 상태에서 이 작업을 수행하면 응용 프로그램 다이어그램이 잠깁니다. 자세한 내용은 소스 제어에서 사용 중인 SDM 문서를 참조하십시오.

    이 문제를 해결하려면 다이어그램을 닫았다가 다시 엽니다.

  • 응용 프로그램 다이어그램의 응용 프로그램이 응용 프로그램 정의 파일(.sdm)을 생성한 사용자 지정 템플릿을 사용하여 구현된 경우

    이러한 템플릿은 일반적으로 응용 프로그램 다이어그램에서 응용 프로그램과 관련된 프로젝트를 사용하여 만들어집니다. 이러한 템플릿을 사용하면 템플릿에 의해 생성된 응용 프로그램 정의 파일(.sdm)과 구현 프로세스 동안 응용 프로그램 디자이너에서 만들려고 시도하는 파일 간에 충돌이 발생합니다.

    이 문제를 해결하려면 다이어그램을 닫고 .sdm 파일을 삭제한 다음 다이어그램을 다시 엽니다.

  • WSE(Web Services Enhancement)가 설치되어 있지 않은데 WSE 설정의 웹 서비스 프로젝트가 응용 프로그램 다이어그램이 포함된 솔루션에서 리버스 엔지니어링되거나 열린 경우

    WSE가 설치되지 않은 컴퓨터의 분산 시스템 솔루션에서 WSE 설정의 웹 서비스 프로젝트가 열리거나 리버스 엔지니어링되면 다이어그램이 잠깁니다.

    이 문제를 해결하려면 다이어그램을 닫고 WSE를 설치한 다음 다이어그램을 다시 엽니다. 자세한 내용은 응용 프로그램 정의를 위한 응용 프로그램 종류 및 프로토타입기존 솔루션의 리버스 엔지니어링을 위한 고려 사항을 참조하십시오.

  • 코드가 실행되는 동안 응용 프로그램 다이어그램이나 프로젝트를 수정한 경우

    Visual Studio 디버거가 실행되는 경우 등 코드가 실행되는 동안 솔루션의 응용 프로그램 다이어그램이나 프로젝트를 수정하려고 하면 다이어그램이 잠깁니다. 시스템 다이어그램 같은 새로 배포된 시스템 다이어그램을 추가하고 코드가 실행되는 동안 해당 다이어그램에 대한 작업을 수행하면 Visual Studio의 응답이 멈춥니다.

    코드 실행을 중지하는 등의 방법으로 이 문제를 해결하려면 디버거를 닫습니다. 이러한 문제가 발생하지 않도록 하려면 새로 배포된 시스템 다이어그램을 추가하거나 다이어그램에 대한 작업을 수행하기 전에 코드 실행을 중지해야 합니다.

  • 디자이너 외부에서 응용 프로그램 다이어그램이나 기타 SDM(시스템 정의 모델) 파일을 수정한 경우

    해당 디자이너 외부에서 응용 프로그램 다이어그램이나 기타 SDM 파일을 변경하면 응용 프로그램 다이어그램이 잠깁니다.

    이 문제를 해결하려면 응용 프로그램 다이어그램을 닫았다가 다시 엽니다.

  • 디자이너 작업이 실행되는 동안 솔루션을 닫으려고 한 경우

    디자이너 작업이 실행되는 동안 솔루션을 닫으려고 하면 응용 프로그램 다이어그램이 잠깁니다. 예를 들어, 체크 아웃 시 솔루션에 대한 변경 사항을 소스 코드 컨트롤에서 자동으로 검색한 경우 이 문제가 발생할 수 있습니다.

    이 문제를 해결하려면 다이어그램을 닫은 다음 솔루션을 닫았다가 다시 엽니다. 소스 코드 컨트롤의 최신 버전으로 솔루션 및 프로젝트 파일을 동기화한 다음 다이어그램을 다시 엽니다. 솔루션을 닫기 전에 이를 저장하라는 메시지가 나타날 수 있습니다. 그러나 솔루션을 저장하려면 솔루션을 동기화하기 위해 솔루션의 항목을 수동으로 병합해야 할 수도 있습니다. SDM 문서는 일반적으로 병합하지 않는 것이 좋습니다. 자세한 내용은 SDM 문서에 대한 동시 체크 아웃 및 변경을 참조하십시오.

동기화 문제

  • 구현을 지원하는 응용 프로그램이 구현되고 나면 해당 프로젝트가 생성되고 솔루션에 표시됩니다. 응용 프로그램에 대한 SDM(시스템 정의 모델) 정의는 확장명이 .sdm인 SDM 문서에 저장되고 생성되는 프로젝트에 포함됩니다. 응용 프로그램 다이어그램을 열거나 닫을 때마다 이 .sdm 파일은 프로젝트 코드 관련 변경 내용으로 동기화됩니다. 따라서 응용 프로그램 다이어그램이나 .sdm 파일이 코드와 동기화되지 않으면 응용 프로그램 다이어그램을 닫았다가 다시 열어 다시 동기화할 수 있습니다. 자세한 내용은 SDM 개요SDM 문서 간 동기화를 참조하십시오.

  • Windows 또는 ASP.NET 응용 프로그램의 App.config 또는 Web.config 파일에서 특정 요소에 별도의 구성 파일(.config)을 각각 지정할 수 있습니다. 이 구성 파일을 추가한 다음 App.config 또는 Web.config 파일의 요소에 configSource 특성을 추가하여 해당 위치를 지정할 수 있습니다. 이 configSource 특성은 App.config 파일이 저장되는 디렉터리에 있는 폴더와 유효한 구성 파일의 이름을 지정합니다. 예를 들면 다음과 같습니다.

    <sessionState configSource="MyFolder\MyConfigFile.config" />
    

    이 추가 구성 파일에는 해당 요소의 구성 정보만 포함되어야 하며 <?xml¢®¦?> 선언 태그는 포함되지 않아야 합니다. 예를 들어, MyConfigFile.config에는 다음 내용만 포함되어야 합니다.

    <sessionState>
        <Add session state info here>
    </sessionState>
    
    참고:

    추가된 구성 파일을 프로젝트의 다른 위치로 옮긴 경우 configSource 특성은 해당 위치를 가리키도록 자동으로 업데이트되지 않습니다. 따라서 configSource 특성이 새 위치를 가리키도록 이를 수동으로 업데이트해야 합니다. 응용 프로그램 다이어그램이 잠긴 경우 추가된 구성 파일의 형식이 올바른지 확인해 보십시오. 구성 파일에 문제가 없다면 응용 프로그램 다이어그램을 닫았다가 다시 열어 보십시오.

  • WSDL 파일의 이름을 바꿀 때 잘못된 확장명을 사용해도 웹 서비스 끝점에 대한 연결이 즉시 삭제되지는 않습니다. 응용 프로그램 다이어그램을 업데이트하려면 이를 닫았다가 다시 엽니다.

응용 프로그램 다이어그램 닫기 및 제거

솔루션에서 프로젝트나 응용 프로그램 다이어그램을 제거하려면 솔루션에서 응용 프로그램 다이어그램 및 열려 있는 기타 모든 분산 시스템 다이어그램을 닫아야 합니다. 응용 프로그램 다이어그램을 닫으려면 먼저 열려 있는 모든 시스템 또는 배포 다이어그램을 저장하고 닫아야 합니다.

응용 프로그램 다이어그램을 저장하지 않고 닫으려면 먼저 열려 있는 모든 시스템 또는 배포 다이어그램을 닫아야 합니다.

클래스 라이브러리의 웹 참조 리버스 엔지니어링

다음과 같은 경우에는 클래스 라이브러리의 웹 서비스 참조가 제대로 리버스 엔지니어링되지 않을 수 있습니다.

  • 필요한 항목을 복사하고 클래스 라이브러리 프로젝트 참조를 소비자 응용 프로그램에 추가한 후 마지막 단계로 클래스 라이브러리를 빌드하는 경우 Visual Basic 클래스 라이브러리의 웹 서비스 참조가 제대로 리버스 엔지니어링되지 않을 수 있습니다.

    이 문제를 해결하려면 클래스 라이브러리의 웹 참조를 마우스 오른쪽 단추로 클릭하고 웹 참조 업데이트를 선택한 다음 클래스 라이브러리를 다시 빌드합니다. 이 문제가 발생하지 않도록 하려면 새 웹 참조를 추가한 다음 구성 파일 항목을 복사하고 클래스 라이브러리 프로젝트 참조를 추가하기 전에 클래스 라이브러리를 빌드해야 합니다.

  • 소비자 응용 프로그램에서 여러 클래스 라이브러리를 참조하고 이러한 각 라이브러리에 서로 다른 웹 서비스에 대한 웹 참조가 들어 있는 경우 Visual Basic 클래스 라이브러리의 웹 서비스 참조가 제대로 리버스 엔지니어링되지 않을 수 있습니다.

    이 문제를 해결하려면 관련 클래스 라이브러리에서 모든 웹 참조를 업데이트해야 합니다. 모든 관련 클래스 라이브러리에서 각 웹 참조를 마우스 오른쪽 단추로 클릭하고 웹 참조 업데이트를 선택한 다음 전체 솔루션을 다시 빌드합니다. 새 웹 참조를 추가하고 해당 클래스 라이브러리를 다시 빌드한 다음 전체 솔루션을 다시 빌드하여 해당 웹 참조를 리버스 엔지니어링합니다.

  • Windows 및 ASP.NET 웹 프로젝트가 둘 다 동일한 클래스 라이브러리를 참조하는 경우 웹 서비스 참조가 올바르게 리버스 엔지니어링되지 않을 수 있습니다.

    이 문제를 해결하려면 응용 프로그램 다이어그램을 닫고 Windows 및 ASP.NET 웹 프로젝트에서 공유 클래스 라이브러리에 대한 참조를 제거해야 합니다. 우선 ASP.NET 웹 프로젝트에 대한 클래스 라이브러리 참조를 추가하고 응용 프로그램 다이어그램을 연 다음 Windows 프로젝트에 대한 클래스 라이브러리 참조를 추가합니다.

자세한 내용은 방법: 응용 프로그램 다이어그램에서 응용 프로그램의 클래스 라이브러리 참조를 참조하십시오.

참고 항목

작업

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

참조

응용 프로그램 시스템에서 멤버 및 끝점 삭제 시 고려 사항

기타 리소스

응용 프로그램 디자이너를 사용하여 응용 프로그램 디자인