BizTalk没有看到我的任何GAC组件

Kev*_*man 2 schema biztalk gac pipeline

伙计们,我意识到这可能看起来像通常的"你没有重新启动你的主机实例"问题..但还有更多的东西.我有一个BizTalk应用程序,包括几个架构程序集,管道程序集,一些地图等.我使用Visual Studio 2010将其部署到BTS2010.我的程序集都出现在GAC中 - 我的模式,我的管道等.模式出现在BT应用程序中,管道中也是如此.我的所有地图都出现在BT应用程序中.

当我通过使用我的自定义管道发送消息时,我收到"失败的管道"消息抱怨强名称和GAC.当我不使用管道时,我只是尝试使用消息直接进入消息框,它抱怨它无法加载我的架构的doc规范并再次抱怨GAC.

我已经验证了几百次装配实际上在GAC中,并且我已经重新启动(包括完全停止)主机实例几十次.

是否有任何其他奇怪的事情会使BizTalk无法从GAC加载我的东西,即使它看起来好像它在那里我已经重新启动主机实例?

sch*_*ack 5

以下是一些要检查的事项:

  1. 确保没有将部署到BizTalk或GAC的同一程序集的多个副本/版本.
  2. 验证您的程序集实际位于相应的BizTalk应用程序中和/或可能在其他BizTalk应用程序中的任何父程序集(创建依赖项)在BizTalk应用程序的属性中设置为引用.
  3. 我发现查看程序集是否在GAC中的最可靠方法是使用gacutil.exe,例如,从Visual Studio(或Windows SDK)命令提示符,使用该命令gacutil.exe /l.要将结果输出到文件,只需执行gacutil.exe /l > c:\gac.txt.然后,您可以搜索输出以查找程序集.也许你可以使用手动GAC每个组件gacutil /if assemblyname.dll.f将强制覆盖现有的程序集.
  4. 在为您的BizTalk应用程序的每个BizTalk项目的项目属性,看看部署属性,并确保两者RedeployInstall to Global Assembly Cache设置为true.还要仔细检查正确Application NameServer设置.
  5. 查看计算机的事件日志,查看是否可能出现任何其他错误,这些错误可能在您的问题中引用的错误之前发生.
  6. 完全从BizTalk擦除应用程序.仔细检查是否已使用gacutil.exe从GAC中删除所有内容(如上所述).通过进入BizTalk管理控制台>>应用程序>>所有工件>>资源并确保您没有任何内容,即使在删除您的应用程序后,也要仔细检查是否已从BizTalk管理数据库中删除所有内容完全.毕竟,再次部署一切.