比较两台服务器的GAC?

riz*_*lp1 3 biztalk gac filecompare

在BizTalk迁移期间,我需要一种简单且可信的方式来比较来自两台服务器的GAC(全局程序集缓存).如果目标服务器中不存在GAC,我还想将GAC从QA移动到生产.这些都是BizTalk服务器,并且有大量的GAC组件.我在网上看到了一些工具但是一个工具的链接被破坏了(winmerge)而其他工具看起来并不真实.谢谢你的帮助.

sch*_*ack 6

每当我需要在GAC中查找内容时,我总是Gacutil.exe /l > c:/gac.txt从Visual Studio(或者,如果不可用,Windows SDK)命令提示符运行,然后在文本编辑器中搜索输出文件.您可以在两台计算机上执行此操作,并使用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服务器以实现负载平衡.