BizTalk Server 2006 R2最近没有使用“GAC”ced dll

时间:2009-05-04 12:39:13

标签: biztalk biztalk2006r2

我有一个GAC'ced(c:\windows\assembly)的DLL,我的Biztalk应用程序正在使用它,对于某些要求,我在该DLL中更改了一个函数,并且:< / p>

  1. 我卸载了GAC(版本1.0.0.0)
  2. 中的旧DLL
  3. GAC将新构建的DLL转换为GAC(版本1.0.0.0)
  4. 我还重新启动了BizTalk主机实例。
  5. 但输出似乎来自旧DLL的功能。我没有遇到问题,为什么我仍然得到旧的输出。

    有人能帮助我吗?

4 个答案:

答案 0 :(得分:3)

一些可能有用的提示:

(1)如果您的组中有多个BizTalk服务器,请务必更新所有服务器! 根据您的主机实例配置,您的实例可以在主机实例处于活动状态的任何服务器上运行。

(2)确保重新启动正确的biztalk主机实例。这经常被忽视。不要忘记BizTalk独立主机!必要时执行特定IIS应用程序池的回收。如果您不确定,请执行iisreset.exe

(3)要在BizTalk中更新DLL,通常还需要在BizTalk数据库中更新它。对于某些更改,它可能只是更新GAC中的DLL,但我经常发现这还不够(特别是对于业务流程)。

答案 1 :(得分:1)

你在这里描述的是正确的。你应该看到新的DLL接管了。有几件事需要检查:

  1. 您是否回收了正确的主机实例?
  2. 您是否在所有服务器上重新启动了主机实例?
  3. 您是否确认了GAC DLL上的创建日期以确保安装了新日期?
  4. 另一个问题可能基于您在应用程序中更改的内容。在特定情况下,您只能进行Gac /重新启动。请参阅Jon Flander博客上的When can you just re-gac and re-start以供参考。

答案 2 :(得分:0)

如果您想确定已经是GAC的正确程序集:单击“运行”并为.Net 1.1或“%systemroot%\ assembly \ gac_msil”键入“%systemroot%\ assembly \ gac”对于&gt; 2.0。

您可以检查(或覆盖)每个版本号的物理文件。

如果您告诉我们您正在使用汇编,管道,functoid,架构等的BizTalk的哪一部分,它可能会对我们提供支持。

答案 3 :(得分:-1)

该DLL是在BizTalk进程(BTSNTSvc.exe)下使用还是由隔离主机实例使用?

如果在接收处理程序(主机)被隔离的接收位置中使用此DLL,例如SOAP接收位置,则必须从IIS而不是主机实例重新启动应用程序池。