Visual Studio에서 BizTalk 어셈블리를 재배포하는 방법
어셈블리를 개발하는 과정에서 반복하여 어셈블리를 배포, 테스트, 수정 및 재배포해야 하는 경우가 많습니다. 이전 버전의 BizTalk Server에서는 버전 번호를 변경하지 않고 어셈블리를 재배포하려면 먼저 BizTalk Server에서 어셈블리에 포함된 아티팩트를 수동으로 중지, 등록 취소 및 바인딩 해제한 다음 BizTalk 관리(구성) 데이터베이스에서 어셈블리를 제거해야 했습니다. 또한 어셈블리를 재배포한 후 BizTalk Server에서 해당 아티팩트를 바인딩, 등록 및 시작해야 했습니다.
그러나 BizTalk Server Visual Studio에서 재배포 옵션을 사용하도록 설정하면 BizTalk Server 자동으로 모든 단계를 수행하여 어셈블리를 다시 배포합니다. 프로젝트 수준에서 어셈블리를 재배포(솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 배포 클릭)하여 개별 어셈블리를 재배포할 수도 있지만 항상 솔루션 수준에서 어셈블리를 재배포(솔루션을 마우스 오른쪽 단추로 클릭하고 배포 클릭)하는 것이 좋습니다. 이렇게 하면 솔루션에 있는 모든 어셈블리가 한 번에 재배포되고 종속성이 있을 때 필요한 모든 단계가 처리됩니다. 종속성에 대한 내용은 나중에 설명합니다.
중요
프로젝트 수준에서 재배포해야 하는 드문 경우도 있지만 일반적으로 항상 솔루션 수준에서 재배포해야 합니다.
어셈블리를 재배포할 때는 다음과 같은 중요한 사항에 주의해야 합니다.
GAC에 새 어셈블리를 설치해야 합니다. 어셈블리를 다시 배포하는 경우 GAC에서 어셈블리를 설치하는 방법에 설명된 대로 항상 GAC에 새 버전의 어셈블리를 설치해야 합니다. 어셈블리를 재배포한 후 이 작업을 수행할 수 있습니다.
종속성이 있는 경우 항상 솔루션 수준에서 재배포해야 합니다. 솔루션에 여러 개의 어셈블리가 있고 솔루션에 있는 하나 이상의 어셈블리에 재배포할 어셈블리에 대한 종속성이 있는 경우 솔루션 수준에서 어셈블리를 재배포해야 합니다. 이는 프로젝트 수준에서 어셈블리를 재배포할 경우 이 어셈블리에 종속되어 있거나 이 어셈블리가 종속된 모든 어셈블리에 있는 아티팩트를 BizTalk Server가 중지, 등록 취소, 바인딩 해제 및 제거하기 때문입니다. BizTalk Server는 아티팩트를 배포, 바인딩, 등록 및 시작하는 추가 단계를 수행하지 않습니다. 그러나 전체 솔루션을 재배포할 경우 BizTalk Server는 해당 종속성을 기반으로 솔루션에 있는 모든 아티팩트를 배포 취소하고 재배포하는 데 필요한 단계를 자동으로 수행합니다.
종속 어셈블리를 수동으로 재배포해야 할 수도 있습니다. BizTalk Server는 항상 종속 어셈블리를 배포 취소하지만 다음과 같은 경우 어셈블리가 종속된 어셈블리를 재배포한 후 각 종속 어셈블리에 있는 아티팩트를 배포, 바인딩 및 등록하는 추가 단계를 수행해야 합니다.
프로젝트 수준에서 어셈블리를 재배포하고 동일한 솔루션의 다른 어셈블리가 해당 어셈블리에 종속된 경우
솔루션 수준에서 어셈블리를 재배포하지만 다른 솔루션에 종속 어셈블리가 있는 경우
예를 들어 다음 다이어그램에 표시된 Assembly 3만 재배포하려면 재배포 후 Assembly 2에 있는 아티팩트를 배포, 바인딩 및 등록한 다음 Assembly 1에 있는 아티팩트를 배포, 바인딩 및 등록해야 합니다.
대체 방법은 변경되지 않은 핵심 어셈블리의 불필요한 배포를 방지하는 것입니다. 예를 들어, 위의 다이어그램에서 Assembly 2와 Assembly 3에 종속되는 다른 어셈플리가 있는 경우 이러한 어셈블리는 모두 업데이트되지 않았습니다. 어셈블리 2 및 어셈블리 3 프로젝트의 구성 관리자에서 배포 옵션을 선택 취소합니다. 이 방법을 사용하면 이 어셈블리에 종속된 외부 어셈블리가 재배포가 필요한 상태로 배포 취소되지 않습니다. 자세한 내용은 Visual Studio에서 배포 속성을 설정하는 방법을 참조하세요.
호스트 인스턴스를 다시 시작해야 합니다. 어셈블리 버전 번호를 변경하지 않고 오케스트레이션이 포함된 어셈블리를 재배포하면 BizTalk 관리 데이터베이스에 있는 기존 어셈블리를 덮어씁니다. 그러나 변경 내용이 적용되려면 오케스트레이션이 바인딩된 호스트의 각 호스트 인스턴스를 다시 시작해야 합니다. 어셈블리를 재배포할 때 로컬 컴퓨터의 모든 호스트 인스턴스가 자동으로 다시 시작되는 옵션을 지정할 수 있습니다. 자세한 내용은 Visual Studio에서 배포 속성을 설정하는 방법을 참조하세요. 호스트 인스턴스를 중지하는 방법 및 호스트 인스턴스를 시작하는 방법에 설명된 대로 각 호스트 instance 수동으로 중지하고 시작할 수도 있습니다.
중요
재배포 옵션은 버전 제어가 적용되지 않으므로 개발 중에만 사용하는 것이 좋습니다.
필수 구성 요소
이 항목의 절차를 수행하려면 BizTalk Server 관리자 그룹의 멤버인 계정으로 로그온해야 합니다. 또한 계정에 로컬 파일 시스템과 GAC(전역 어셈블리 캐시)에 대한 읽기/쓰기 권한이 있어야 합니다. 로컬 컴퓨터의 관리자 계정이 이러한 권한을 가집니다.
BizTalk 솔루션을 재배포하려면
Visual Studio 솔루션 탐색기 사용
Visual Studio에서 배포 속성을 설정하는 방법에 설명된 대로 솔루션의 각 프로젝트에 대한 배포 속성에서 재배포 옵션이 사용하도록 설정되어 있는지 확인합니다. 기본적으로 이 옵션은 사용하도록 설정됩니다.
Visual Studio 솔루션 탐색기 BizTalk 솔루션을 마우스 오른쪽 단추로 클릭한 다음 배포를 클릭합니다.
솔루션의 어셈블리가 지정한 BizTalk 응용 프로그램에 배포됩니다. 페이지의 왼쪽 맨 아래에 빌드 및 배포 프로세스의 상태가 표시됩니다.
Visual Studio 명령 프롬프트 사용
Visual Studio에서 배포 속성을 설정하는 방법에 설명된 대로 솔루션의 각 프로젝트에 대한 배포 속성에서 재배포 옵션이 사용하도록 설정되어 있는지 확인합니다. 기본적으로 이 옵션은 사용하도록 설정됩니다.
Visual Studio 명령 프롬프트를 시작합니다.
다음 표에 설명된 것과 같이 적절한 값으로 대체하여 다음 명령을 입력합니다.
devenv /deploySolnConfigNameSolutionName
예제:
devenv /deploy Release "C:\Documents and Settings\someuser\My Documents\Visual Studio\Projects\MySolution\MySolution.sln"
매개 변수 값 /배포 빌드 또는 다시 빌드 후 솔루션을 배포합니다. SolnConfigName SolutionName에 지정한 솔루션을 빌드하는 데 사용할 솔루션 구성의 이름입니다. SolutionName 솔루션 파일의 전체 경로와 이름입니다.