0

我最近开始使用这种方法进行管道组件开发,并且它对事物的开发部分非常有效。它甚至在组件/管道的第一次部署时工作得很好。

但是,现在的问题是,当我将更改部署到管道组件 DLL 时,我无法让它们更新。

就将程序集添加到 GAC 而言,我关注该帖子。然后我从 BizTalk 导出包含我的程序集的 MSI 并使用“覆盖”选项导入。我重新启动主机实例,重新启动 IIS(因为我的隔离主机正在使用该组件)但我对 dll 所做的更改没有发生在(在这种情况下)登台服务器上。

我检查了 MSIL 文件夹,文件夹和 dll 确实得到了更新日期修改,但是当我发送消息时我的更改没有发生。

有没有我错过的步骤?我是否必须增加组件本身的版本号?我增加了版本并重新部署了引用组件的管道,即使这样也不会启动更改。

4

2 回答 2

1

我发现了我的问题。在我的开发环境中,我必须:

  • 右键点击资源<myApplication>/Resources
  • 选择“修改”,然后按
  • “刷新”按钮。
  • 导航到安装自定义管道的 dll 的 GAC 目录C:\Windows\Microsoft.NET\assembly\GAC_MSIL\<myComponent>\v4.0_<myVersion>__<myPublickey>
  • 重新启动主机实例(不确定这是否完全必要)

然后我可以导出 dll 并将其导入目标服务器(Overwrite Resources选中)。如果没有刷新,目标服务器上将无法识别 dll 更改。希望有一天这可以节省一些时间。

于 2015-05-26T20:12:42.157 回答
0

您不必将程序集导出到 msi 来安装它。在资源区域中添加或更新它将执行与导入相同的操作。我们经常使用这种方法。

我通常增加版本号,因为它有助于确保我期望运行的代码正在运行。如果出现生产问题,它还可以简化回滚到以前的版本。

于 2015-06-04T20:35:00.407 回答