Автоматическое развертывание ссылочной сборки как “Ресурса” в VS2005 / Biztalk 2006
-
22-08-2019 - |
Вопрос
У меня есть решение для двух проектов - один проект содержит мои схемы и оркестровку BizTalk, а другой содержит DLL, на которую ссылается моя оркестровка и которая выполняет эту реальную работу (это общий код, поэтому у меня нет шансов просто включить его в сборку BizTalk).Вторая сборка добавлена в качестве ссылки из BizTalk, и я могу ссылаться на методы в # 2 из оркестровки без каких-либо проблем.
Однако, когда я развертываю из VS -> BizTalk, он не берет с собой мою сборку ресурсов - он просто развертывает сборку BizTalk.Если я попытаюсь запустить свою оркестровку, я получу сообщение об ошибке, что не удалось загрузить указанную сборку, но как только я добавлю ее в GAC и список "Ресурсы" для моего приложения BizTalk, все будет работать отлично.
Как я могу пометить эту сборку как нечто, что должно быть развернуто с моей сборкой BizTalk?Я просто где-то пропустил настройку в ссылке?
Решение
Поместите следующие инструкции в пакетный файл и запустите его из командной строки 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, который вам нужно будет импортировать!Это решает вашу проблему.
Другие советы
Я не верю, что есть решение путем автоматического добавления ресурса в приложение BizTalk.
Обычно я использую скрипты для развертывания в BizTalk и поэтому добавляю ресурсы как их часть (но, честно говоря, у меня обычно более 2 сборок).;BTSTask - это утилита командной строки BizTalk, которую вы можете использовать для этого (или, если вы используете MSBuild, вы можете использовать "Задачи SDC"