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

时间:2011-05-23 14:25:30

标签: schema biztalk gac pipeline

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

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

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

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

1 个答案:

答案 0 :(得分:5)

以下是要检查的内容:

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