如何向应用程序中添加 .NET 程序集

本主题介绍如何使用 BizTalk Server 管理控制台或命令行向 a BizTalk 应用程序添加并非 BizTalk 程序集的 .NET 程序集。 向应用程序中添加 .NET 程序集时,请切记以下几点:

  • 如果要覆盖应用程序中已有的程序集,请指定“Overwrite”选项。 只有在两个程序集具有相同的 LUID 时,才需要“Overwrite”选项。 如果未指定,且应用程序中已存在与要添加的程序集具有相同 LUID 的程序集,则添加操作将失败。 可以使用 ListApp 命令查看应用程序中项目的 LUID。

  • 在添加某一 .NET 程序集时,可以指定以下一个或多个选项,以便将该程序集安装到全局程序集缓存 (GAC) 中:

    • 添加资源时添加到全局程序集缓存 (gacutil)。 如果您选择了此选项,则在按照本主题中介绍的过程将程序集添加到某一应用程序时,该程序集就会安装到本地计算机上的 GAC 中。

    • 导入 MSI 文件时添加到全局程序集缓存 (gacutil)。 如果您选择了此选项,则在应用程序导出到某一 .msi 文件,然后该 .msi 文件导入到 BizTalk 组时,程序集将作为导入过程的一部分安装到本地计算机上的 GAC 中。 在应用程序包括某一策略以及该策略所依赖的程序集时,选择此选项。 您需要这样做的原因在于:在您导入包含某一策略的应用程序时,该策略所依赖的任何程序集都必须在 GAC 中存在。

    • 安装 MSI 文件时添加到全局程序集缓存 (gacutil)。 如果您选择了此选项,则在应用程序导出到某一 .msi 文件,然后应用程序根据该 .msi 文件安装到某一计算机时,程序集将作为安装过程的一部分安装到本地计算机上的 GAC 中。

    • 对 COM 组件可见 (regasm)。 在选择此选项时,如果应用程序导出到某一 .msi 文件,并且应用程序根据该 .msi 文件安装到计算机上,则托管的 COM 程序集将作为安装过程的一部分添加到本地计算机上的 Windows 注册表中。 如果您指定该选项,则还必须为目标中的文件指定位置。

    • 注册服务组件 (regsvcs)。 在选择此选项时,如果应用程序导出到某一 .msi 文件,并且应用程序根据该 .msi 文件安装到计算机上,则托管的 COM+ 程序集将作为安装过程的一部分添加到本地计算机上的 Windows 注册表中。 如果您指定该选项,则还必须为目标中的文件指定位置。

必备条件

若要执行本主题中的过程,必须使用BizTalk Server管理员组成员的帐户登录。 有关权限的更多详细信息,请参阅 部署和管理 BizTalk 应用程序所需的权限

向应用程序中添加 .NET 程序集

使用 BizTalk Server 管理控制台

  1. 依次单击“开始”、“所有程序”、“Microsoft BizTalk Server 20xx”和“BizTalk Server管理”。

  2. 在控制台树中,依次展开“BizTalk Server管理”、“BizTalk”组和“应用程序”,然后展开要向其添加 .NET 程序集的应用程序。

  3. 右键单击“ 资源” 文件夹,指向“ 添加”,然后单击“ 资源”。

  4. 单击“ 添加”,单击程序集,然后单击“ 打开”。

  5. “文件类型 ”下拉列表中,选择“ System.BizTalk:Assembly”。

  6. “选项”中,选择此程序集的部署选项。

  7. “目标”中,键入从 .msi 文件安装应用程序时要复制文件的位置的完整路径,包括文件名。 如果未提供此路径,则在安装过程中,该文件不会复制到本地文件系统。 若要将该文件复制到应用程序文件夹,您可以在路径中使用 %BTAD_InstallDir% 环境变量,这会在安装应用程序时取应用程序安装文件夹的值。 这样,在您指定目标位置时,无需知道应用程序安装文件夹的路径。

    示例: %BTADInstall_Dir%\Assemblies\Orchestrations.dll

  8. 单击“ 依赖项 ”选项卡,查看此程序集所依赖的项目。

  9. 如果此应用程序不存在此程序集所依赖的项目,并且你想要添加它,请单击“ 添加到应用程序”,浏览到该项目,然后单击“ 打开”。

  10. 完成后,单击 “确定”

使用命令行

  1. 按如下所示打开命令提示符:单击“ 开始”,单击“ 运行”,键入 cmd,然后单击“ 确定”。

  2. 键入以下命令,替换适当的值,如下表中所述:

    BTSTask AddResource [/ApplicationName:value] /Type:System.BizTalk:Assembly [/Overwrite] /Source:value [/Destination:value] [/Options:GacOnAdd|GacOnInstall|GacOnImport|RegasmOnInstall|RegsvcsOnInstall] [/Server:value] [/Database:value]

    例如:

    BTSTask AddResource /ApplicationName:MyApplication /Type:System.BizTalk:Assembly /Overwrite /Source:"C:\Source Assemblies\MyAssembly.dll" /Destination:"%BTAD_InstallDir%\New Assemblies\MyAssembly.dll" /Options:GacOnAdd,RegasmOnInstall /Server:MyDatabaseServer /Database:BizTalkMgmtDb

    参数
    /ApplicationName 向其添加程序集的 BizTalk 应用程序的名称。 如果未指定应用程序名称,则使用组的默认 BizTalk 应用程序。 如果名称包含空格,则必须用双引号 (“) 将其括起来。
    /类型 System.BizTalk:Assembly (此值不区分大小写。)
    /覆盖 更新现有程序集的选项。 如果未指定,且应用程序中已存在与要添加的程序集具有相同全名的程序集,则 AddResource 操作将失败。 全名包括程序集名称、文件名、版本、区域性和公钥标记。 可以使用 ListApp 命令查看应用程序中项目的 LUID。
    /源 程序集文件的完整路径,包含文件名。 如果路径包含空格,则必须用双引号 (“) 将其括起来。
    /目的地 从 .msi 文件安装应用程序时,程序集文件要复制到的位置的完整路径。 如果未提供,则安装期间该程序集文件将不会复制到本地文件系统。 如果该路径包含空格,则必须将其括在双引号 (") 中。 如果指定 RegasmOnInstall 或 RegsvcsOnInstall 选项,则还必须指定 Destination。 注意: 可以在路径中使用 %BTAD_InstallDir% 环境变量。 在安装应用程序时,该变量将取应用程序安装文件夹的值。 这样,在您指定目标位置时,无需知道应用程序安装文件夹的路径。 示例:%BTAD_InstallDir%\Assemblies\Orchestrations.dll
    /选项 - GacOn 添加:在 AddResource 操作期间, (将程序集安装到本地计算机上的 GAC) 全局程序集缓存。
    - GacOnInstall:从 .msi 文件安装应用程序时,将程序集安装到 GAC。
    - GacOnImport:导入应用程序 .msi 文件时,将程序集安装到 GAC。
    - RegasmOnInstall:从 .msi 文件安装应用程序时,将托管 COM 程序集添加到 Windows 注册表。 如果指定此选项,则还必须指定 Destination。
    - RegsvcsOnInstall:从 .msi 文件安装应用程序时,将托管 COM+ 程序集添加到 Windows 注册表。 如果指定此选项,则还必须指定 Destination。

    多个选项之间必须用逗号分开。
    /服务器 BizTalk 管理数据库的宿主 SQL Server 实例的名称,格式为“服务器名称\实例名称,端口”。

    只在实例名称与服务器名称不相同时才需要指定实例名称。 只在 SQL Server 不使用默认端口号 (1433) 时才需要指定端口。

    示例:

    Server=MyServer

    Server=MyServer\MySQLServer,1533

    如果未提供,则使用本地计算机上运行的 SQL Server 实例的名称。
    /数据库 BizTalk 管理数据库的名称。 如果未指定,则使用在本地 SQL Server 实例中运行的 BizTalk 管理数据库。

另请参阅

管理 .NET 程序集、证书和其他资源
AddResource 命令:.NET 程序集
创建和修改 BizTalk 应用程序