Assembly no soportado: Microsoft.BizTalk.Deployment.dll

Microsoft.BizTalk.Deployment.dll es un assembly no soportado por Microsoft en el framework de BizTalk Sever que provee funcionalidad para realizar el proceso de despliegue de los elementos de BizTalk, así mismo permite realizar importación de archivos de Binding, exportar archivos de Bindig, remover assemblies de BizTalk, y todas las otras tareas relacionadas con la administración de elementos. Aunque este es un assembly que no tiene soporte, si expone algunas clases públicas que pueden ser utilizadas desde cualquier aplicación personalizada en caso de no querer utilizar la utilidad BTSDeploy ().

Además de esta funcionalidad, este assembly provee clases que nos permiten validar si un assembly pertenece o no a BizTalk y conocer todos los elementos que contiene dicho assebly. Esta funcionalidad es parecida a la otorgada por BtsAsmReg.dll cuando se integra con el Windows Explorer y nos permite visualizar los elementos de los assemblies de BizTalk cargados en la base de datos.

Un ejemplo de ello es utilizar la clase BtsAssemblyManager para evaluar si un assembly es de BizTalk.

if

(ScorpioAssembly.BtsAssemblyManager.IsBizTalkAssemblyByPath(pathBtsAssembly))
{
   // crate an instance of BizTalkAssembly
   ScorpioDeployment.BizTalkAssembly biztalkAssembly = new ScorpioDeployment.BizTalkAssembly();
   biztalkAssembly.Load(pathBtsAssembly);
   // create an instance of BtsAssemblyManager
   ScorpioAssembly.BtsAssemblyManager btsAssemblyManager = new ScorpioAssembly.BtsAssemblyManager (pathBtsAssembly, biztalkAssembly);
   // load the BtsAssembly from BtsAssemblyManager
   btsAssembly = btsAssemblyManager.BtsAssembly;
}

También podemos obtener las orquestaciones que tiene el assembly seleccionado utilizando la propiedad AssemblyMetaData.Orchestrations del objeto que representa el assembly de BizTalk y asignándolo a un objeto tipo IBizTalkOrchestration.

IEnumerator

listOfOrchestrations = btsAssembly.AssemblyMetaData.Orchestrations;
listOfOrchestrations.Reset();
while (listOfOrchestrations.MoveNext())
{
   // get the orchestration from listOfOrchestrations
   Microsoft.BizTalk.Deployment.MetaDataOM.IBizTalkOrchestration orchestration = listOfOrchestrations.Current as Microsoft.BizTalk.Deployment.MetaDataOM.IBizTalkOrchestration;
   // write the name of orchestration
   System. Console.WriteLine (orchestration.Name);
}

Esta librería también trae clases utilices para registrar assemblies en el GAC desde el código para no utilizar herramientas desde la consola administrativa.

Este assembly trabaja con el framework de BizTalk Server Beta 2, por lo que puede cambiar para la versión final. Bajar código aquí.

Autor: Carlos Medina

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho