2009-03-25 4 views
0

하나의 프로젝트에 내 스키마와 BizTalk 오케스트레이션이 포함되어 있고 다른 하나에는 내 오케스트레이션에서 참조되는 DLL이 포함되어 있으며 실제 작업을 수행하는 두 가지 프로젝트 솔루션이 있습니다. (공유 코드이므로 BizTalk 어셈블리에 통합 할 수는 없습니다.) 두 번째 어셈블리는 BizTalk 개체에서 참조로 추가되며 문제없이 오케스트레이션에서 # 2의 메서드를 참조 할 수 있습니다.VS2005/BizTalk 2006에서 참조 된 어셈블리를 "리소스"로 자동 배포

그러나 VS -> BizTalk에서 배포 할 때 내 리소스 어셈블리를 사용하지 않고 BizTalk 어셈블리 만 배포합니다. 내 오케스트레이션을 트리거하려고하면 참조 된 어셈블리를로드 할 수 없다는 오류가 발생하지만 일단이를 GAC 및 BizTalk 응용 프로그램의 "리소스"목록에 추가하면 모든 것이 완벽하게 실행됩니다.

어떻게이 어셈블리를 내 BizTalk 어셈블리와 함께 배포해야하는 것으로 플래그 할 수 있습니까? 제가 어딘가에 참고 문헌에 관한 설정을 놓치고 있습니까?

답변

1

다음 문을 배치 파일에 배치하고 VS 명령 프롬프트

BTSTask AddResource -Source:.\Assemblies\Schemas.DLL 
    -ApplicationName:MyApp -Type:System.BizTalk:BizTalkAssembly 
    -Options:GacOnImport,GacOnInstall -Overwrite 
BTSTask AddResource -Source:.\Assemblies\Orchestrations.DLL 
    -ApplicationName:MyApp -Type:System.BizTalk:BizTalkAssembly 
    -Options:GacOnImport,GacOnInstall -Overwrite 
BTSTask AddResource -Source:.\Assemblies\SharedLib.DLL 
    -ApplicationName:MyApp -Type:System.BizTalk:Assembly 
    -Options:GacOnImport,GacOnInstall -Overwrite 
BTSTask ExportApp -ApplicationName:MyApp -Package:MyApp.msi 

당신은 당신이 가져올 필요가 끝에서 MSI를 얻을 이이 문제를 해결

+0

내 문제는 이러한 파일은 기본적으로 내 배포에 포함되지 않은 것입니다! -. 내가 배포 할 때, 응용 프로그램을 실행할 준비가되었으므로 필요한 어셈블리를 배포 할 수 있기를 기대하며 이는 사실이 아닙니다. 음, 당신의 대답에 감사드립니다. – SqlRyan

0

리소스를 BizTalk 응용 프로그램에 자동으로 추가하는 방법이 있다고 생각하지 않습니다.

일반적으로 스크립트를 사용하여 BizTalk에 배포하므로 리소스를 일부로 추가합니다 (하지만 보통 2 개 이상의 어셈블리가 있습니다). BTSTask는이를 수행하는 데 사용할 수있는 BizTalk 명령 줄 유틸리티입니다 (또는 MSBuild를 사용하는 경우 "SDC tasks"을 사용할 수 있습니다)