【问题标题】:Compare GACs from two servers?比较两台服务器的 GAC?
【发布时间】:2011-09-29 18:00:01
【问题描述】:

在 BizTalk 迁移期间,我需要一种简单且值得信赖的方法来比较两台服务器的 GAC(全局程序集缓存)。如果目标服务器中不存在 GAC,我还想将 GAC 从 QA 移至生产。这些都是 BizTalk 服务器,并且有大量 GAC 程序集。我在网上看到了一些工具,但其中一个的链接已损坏(winmerge),而其他工具似乎并不真实。感谢您的帮助。

【问题讨论】:

    标签: biztalk gac filecompare


    【解决方案1】:

    每当我需要在 GAC 中查找某些内容时,我总是从 Visual Studio(或者,如果不可用,则使用 Windows SDK)命令提示符运行 Gacutil.exe /l > c:/gac.txt,然后在文本编辑器中搜索输出文件。您可以在两台机器上执行此操作,并使用Beyond Compare 之类的工具来比较两个 GAC 的内容。 Beyond Compare 还可以让您进行目录比较,因此这可能比导出 GAC 中的内容列表更容易(如果您遵循此答案的下一部分)。

    要导出程序集,您可以按照http://blogs.msdn.com/b/johnwpowell/archive/2009/01/14/how-to-copy-an-assembly-from-the-gac.aspx 处的说明使 GAC 的行为类似于普通的 Windows 目录,使您能够复制和粘贴您需要的文件。

    不过,我会说,最好的选择是将您的 BizTalk 程序集放在打包的 MSI 文件中,您可以简单地将其导入到您想要的任何 BizTalk 服务器(然后实际执行到 GAC)。这可确保您需要的内容在 BizTalk 数据库中,because GACing is often not enough

    如果您还没有准备好您的 MSI 文件,那么现在是制作它们的好时机。如果已使本地 GAC 可浏览,那么应该很容易浏览到程序集并将其作为资源添加到您想要的任何 BizTalk 应用程序,然后将应用程序导出为 MSI 文件,该文件将包括应用程序的所有资源。这样您就不必完全手动完成所有操作。

    没有准备好将所有东西部署到新服务器(并且也记录在案)是在灾难发生时发现自己陷入困境的好方法,或者如果您只需要添加另一个 BizTalk 服务器以进行负载平衡。

    【讨论】:

    • ps。另见:gaccompare.codeplex.com;即专门用于比较 GAC 的工具。添加作为评论而不是完整答案,因为@schellack 的回答提供了有关 BizTalk 与此相关的特定问题的重要信息/我不想引起人们的注意。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 2022-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-04
    • 1970-01-01
    相关资源
    最近更新 更多