如何将 .NET 程序集添加到应用程序

本主题介绍如何使用 BizTalk Server 管理控制台或命令行将不是 BizTalk 程序集的 .NET 程序集添加到 BizTalk 应用程序。 将 .NET 程序集添加到应用程序时,请记住以下要点:

  • 如果要覆盖应用程序中已存在的程序集,请指定“覆盖”选项。 仅当两个程序集具有相同 LUID 时,才需要覆盖选项。 如果未指定,并且应用程序中已存在与要添加的程序集相同的 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 选项,则还必须指定目标。 注意: 可以在路径中使用 %BTAD_InstallDir% 环境变量。 安装应用程序时,它采用应用程序安装文件夹的值。 这样,在指定目标位置时,无需知道应用程序安装文件夹的路径。 示例:%BTAD_InstallDir%\Assemblies\Orchestrations.dll
    /选项 - GacOnAdd:在 AddResource 操作期间,将程序集安装到本地计算机上的全局程序集缓存(GAC)。
    - GacOnInstall:从 .msi 文件安装应用程序时,将程序集安装到 GAC。
    - GacOnImport:导入应用程序 .msi 文件时将程序集安装到 GAC。
    - RegasmOnInstall:从 .msi 文件安装应用程序时,将托管 COM 程序集添加到 Windows 注册表。 如果指定此选项,还必须指定目标。
    - 从 .msi 文件安装应用程序时,RegsvcsOnInstall:将托管 COM+ 程序集添加到 Windows 注册表。 如果指定此选项,还必须指定目标。

    必须用逗号分隔多个选项。
    /服务器 托管 BizTalk 管理数据库的 SQL Server 实例的名称,格式为 ServerName\InstanceName,Port。

    仅当实例名称不同于服务器名称时,才需要实例名称。 仅当 SQL Server 使用默认值(1433)以外的端口号时,才需要端口。

    例子:

    Server=MyServer

    Server=MyServer\MySQLServer,1533

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

另请参阅

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