다음을 통해 공유


작업 목록의 빌드 오류

프로젝트나 솔루션을 빌드할 경우 결과는 출력 창에 표시되지만 개별 오류 및 경고는 작업 목록에 표시됩니다.

오류 및 경고는 작업 목록에 표시됩니다. 오류를 두 번 클릭하면 올바르게 구성되지 않은 개체에 포커스가 놓입니다.

참고

빌드 시 컴파일러는 XPath의 유효성을 검사하지 않습니다. 유효한 XPath 구문을 사용하도록 주의하십시오.

불충분한 구성 작업

구성 작업이 충분하지 않음을 나타내는 아이콘을 보여 주는 이미지입니다.

주의

오케스트레이션 디자이너에서는 불충분한 구성에 대한 경고가 최대한 제공되지만 이러한 경고가 없다고 해서 오케스트레이션이 제대로 컴파일된다고 보장되는 것은 아닙니다.

컴파일러에서 어셈블리 참조 누락 여부를 묻는 메시지 표시

문제

오케스트레이션을 컴파일할 때 "어셈블리 참조가 누락되었나요?"라는 질문으로 끝나는 오류 메시지가 표시됩니다. 일반적인 메시지 중 두 가지는 다음과 같습니다.

  • 'Y' 네임스페이스에 'X' 형식 또는 네임스페이스 이름이 없습니다. 어셈블리 참조가 있는지 확인하십시오.

  • 'X' 식별자는 'Y'에 없습니다. 어셈블리 참조가 있는지 확인하십시오.

원인

다음 중 하나가 이 오류의 원인일 수 있습니다.

  • 프로젝트에서 하나 이상의 필수 어셈블리를 참조하지 않습니다.

  • 프로젝트에 프로젝트와 이름이 같은 맵 또는 기타 개체 유형이 있습니다.

  • 프로젝트에서 XSD(XML 스키마 정의 언어) 기반 PIP(Partner Interface Process) 스키마를 사용하며 System이라는 하위 폴더에 XSD 스키마가 있습니다.

  • 프로젝트에 네임스페이스가 현재 프로젝트 네임스페이스의 하위 집합인 전역 속성을 사용하고 있습니다. "Accounts.FILE" 프로젝트에 포함되어 있는 오케스트레이션에서 전역 속성 네임스페이스 "File.ReceivedFileName"을 사용하는 경우를 예로 들 수 있습니다.

해결 방법

문제의 원인에 따라 해결 방법은 다음 중 하나가 될 수 있습니다.

  • 프로젝트에 필요한 누락 어셈블리에 대한 참조를 추가합니다.

  • 맵 또는 기타 개체의 이름을 프로젝트 이름이 아닌 이름으로 변경합니다. 예를 들어 맵 속성 페이지에 이름 속성이 있는 개체의 속성 페이지에서 이 작업은 수행할 수 있습니다.

  • Visual Studio에서 스키마의 네임스페이스를 변경합니다. Visual Studio를 사용하여 이 작업을 수행하려면 프로젝트 메뉴에서 모든 파일 표시를 클릭한 다음 솔루션 탐색기 시스템 노드를 확장합니다. System 폴더 및 하위 폴더의 각 파일을 클릭한 다음, 시스템 발생이 _System이 되도록 속성 창 네임스페이스 항목을 변경합니다. 예를 들어 MyProject.System.SubFolder 네임스페이스를 MyProject._System.Subfolder 네임스페이스로 변경합니다. 이 문제에 대한 자세한 내용은 KB 문서 916649 참조하세요.

  • 프로젝트에서 충돌하는 전역 속성 네임스페이스를 제거합니다.

프로젝트를 빌드할 때 "construct 문에서 메시지가 초기화되지 않았습니다"라는 오류 발생

문제

BizTalk 응용 프로그램을 컴파일할 때 "construct 문에서 메시지가 초기화되지 않았습니다"라는 오류가 발생합니다.

원인

메시지를 생성할 때 모든 메시지 변수를 지정합니다. 그런 다음 메시지 또는 해당 부분에 할당합니다. 특정 메시지 할당의 일부가 별도의 생성 메시지 셰이프에 포함된 경우 초기화 오류 메시지가 표시될 수 있습니다.

해결 방법

이 동작을 resolve 동일한 생성 메시지 셰이프에 특정 메시지 할당의 모든 부분을 포함해야 합니다.

식 셰이프에서 instance 사용하기 전에 구문 셰이프에서 메시지를 만들어 이 동작을 resolve 수도 있습니다. 예를 들어 다음 코드는 셰이프에 배치되는 경우 오류를 발생합니다.

XMLDOM = new System.Xml.XmlDocument();
POAckMsg = XMLDOM;

이 문제를 해결하려면 구문 셰이프에서 XMLDOM의 instance 만든 다음 다운스트림 셰이프에서 할당을 수행합니다.

프로젝트를 빌드할 때 "생성되지 않은 메시지를 사용했습니다"라는 오류 발생

문제

BizTalk 프로젝트를 컴파일하면 "비정형 메시지 'message>'<의 사용" 오류가 표시됩니다.

원인

이 오류는 송신 셰이프에서 구성되지 않은 메시지를 사용할 때 발생합니다.

해결 방법

이 문제를 resolve 오케스트레이션에 생성 메시지 셰이프를 추가합니다. 웹 서비스에 바인딩된 보내기 셰이프 앞에 생성 메시지 셰이프를 포함합니다.

범위에 대한 트랜잭션 수준을 설정하면 오류 발생

문제

오케스트레이션의 트랜잭션을 지원하는 범위 또는 기타 엔터티에 대해 트랜잭션 유형을 구성한 경우 "비트랜잭션 오케스트레이션은 다른 트랜잭션을 포함할 수 없습니다"라는 오류가 발생합니다.

원인

오케스트레이션 자체의 트랜잭션 유형이 "없음"일 때 오케스트레이션의 범위 또는 기타 엔터티의 트랜잭션 유형을 "원자성"이나 "장기 실행"으로 구성하려고 하면 이 오류가 발생합니다.

해결 방법

오케스트레이션 및 해당 구성 개체의 트랜잭션 유형 설정이 호환되는지 확인합니다.

프로젝트 빌드 시 "상관 관계가 자동으로 지정되지 않은 포트에 연결된 수신 셰이프는 활성화 속성이 True이거나 상관 관계를 지정해야 합니다"라는 오류 발생

문제

BizTalk 프로젝트를 컴파일할 때 "상관 관계가 자동으로 지정되지 않은 포트에 연결된 수신 셰이프는 활성화 속성이 True이거나 상관 관계를 지정해야 합니다"라는 오류가 발생합니다.

원인

이 오류는 오케스트레이션에 수신 셰이프 활성화가 없거나(활성화 = true) 수신 셰이프가 활성화되지 않고 다른 오케스트레이션에서 직접 호출되지 않는 경우에 발생할 수 있습니다.

해상도

오케스트레이션이 다른 오케스트레이션에서 호출되지 않는 경우 수신 셰이프 중 하나를 활성화된 수신으로 구성해야 합니다. 상관 관계에 대한 링크를 포함하여 수신 셰이프를 구성하는 방법에 대한 자세한 내용은 수신 셰이프를 구성하는 방법을 참조하세요.

솔루션을 빌드할 때 "어셈블리 생성 실패 -- 참조된 어셈블리 '<어셈블리>'에 강력한 이름이 없습니다." 오류가 표시됩니다.

문제

오케스트레이션이 있는 솔루션을 빌드할 때 "어셈블리 생성 실패 -- 참조된 어셈블리 '<assembly>'에 강력한 이름이 없습니다." 오류가 표시됩니다.

원인

오케스트레이션 내에서 서명되지 않은 참조된 어셈블리의 형식이 사용되면 이 문제가 발생합니다.

해상도

참조된 어셈블리에 강력한 이름을 적용합니다. 다시 컴파일할 수 있는 사용자 지정 어셈블리인 경우 강력한 이름 도구를 사용하여 .snk(키) 파일을 만든 다음 해당 프로젝트의 어셈블리 속성에서 해당 키 파일을 참조합니다. 강력한 어셈블리 이름 지정에 대한 자세한 내용은 강력한 이름 어셈블리 키 파일을 구성하는 방법을 참조하세요.

오케스트레이션을 배포할 때 "리소스를 추가하지 못했습니다. 일부 리소스에 대한 변경 요청이 실패했습니다"라는 오류 발생

문제

오케스트레이션을 배포할 때 다음과 유사한 오류가 표시되고 오케스트레이션 배포가 실패합니다.

Failed to add resource(s). Change requests failed for some resources. BizTalkAssemblyResourceManager failed to complete end type change request. Object reference not set to an instance of an object.

원인

오케스트레이션에 C# 키워드를 사용하는 개체가 있는 경우 이 오류가 발생할 수 있습니다.

해상도

오케스트레이션에서 C# 키워드를 제거합니다. 자세한 내용은 C# 키워드(keyword) 목록을 참조하세요.

오케스트레이션을 컴파일할 때 "잘못된 속성 값입니다"라는 오류 발생

문제

오케스트레이션을 빌드할 때 "잘못된 속성 값입니다"라는 오류 대화 상자가 표시됩니다.

원인

솔루션에서 하나 이상의 개체 이름이 다른 개체 이름과 같습니다. 예를 들어 메시지 이름이 포트 이름과 같습니다.

해상도

솔루션에 있는 각 개체의 이름이 고유한지 확인합니다. 명명 규칙을 따르면 이 오류가 발생할 가능성을 최소화할 수 있습니다.

참고 항목

오케스트레이션 빌드 방법