比较两台服务器中的全局程序集缩略图(GAC)?

3

我需要一种简单可靠的方法来比较两个服务器上的GAC(全局程序集缓存),以便在BizTalk迁移期间使用。如果目标服务器上不存在GAC,则我还想将GAC从QA移动到Production。这些都是BizTalk服务器,并且有大量程序集被GAC'd。我在网上看到了一些工具,但其中一个链接已经失效(winmerge),其他工具也不太可信。谢谢您的帮助。

1个回答

6
每当我需要在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数据库中,因为仅仅GACing通常是不够的。
如果您还没有准备好要使用的MSI文件,那么现在是制作它们的好时机。如果已经使本地GAC可浏览,则可以轻松地浏览到并将程序集添加为资源到您想要的任何BizTalk应用程序,并将应用程序导出为MSI文件,其中将包括所有应用程序的资源。这样您就不必完全手动操作。
没有准备好要部署到新服务器的所有内容(并且还要有文档),这是找到自己陷入困境的好方法,当灾难发生或者只需要添加另一个BizTalk服务器进行负载平衡时。

请参阅:https://gaccompare.codeplex.com/;即一个专门用于比较GAC的工具。此处仅作为评论添加,而非完整答案,因为@schellack的回答已经提供了与BizTalk相关的重要信息/我不想分散注意力。 - JohnLBevan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接