无法使用此名称检索文档规范

cannot retrive a document specification using this name

运行 BizTalk 2013r2,我有一个自定义管道的发送端口。管道中的第一个组件是标准 "Flat file assembler" 组件。除“DocumentSpecName”外,所有属性均为默认属性,我将其指定为 http://BTS.GO.Store6.Schemas.BT.TransactionHeader_FF#TransactionHeader

我已通过检查管理控制台 运行 以下 SQL 查询来检查此架构仅部署了一次:

Select msgtype, assemblyid, clr_namespace, clr_assemblyname
from bt_documentspec
where msgtype = 'http://BTS.GO.Store6.Schemas.BT.TransactionHeader_FF#TransactionHeader'

这selectreturns以下单行:

http://BTS.GO.Store6.Schemas.BT.TransactionHeader_FF#TransactionHeader 7517 BTS.GO.Store6.Schemas.BT BTS.GO.Store6.Schemas, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0a9764041befeb8b

我已经检查了 .Net4 GAC,可以确认程序集 BTS.GO.Store6.Schemas v1 的 PublicKeyToken 是 0a9674041befeb8b

我试过:

  1. 取消部署应用程序并确保从 .Net4 GAC 中删除所有相关程序集
  2. 已检查旧 GAC 中不存在程序集
  3. 正在重新启动我 运行 BizTalk
  4. 的开发笔记本电脑
  5. 部署到单独的测试服务器 - 我在这里遇到同样的问题!

值得补充的是,同一程序集包含 "Customer" 的不同平面文件架构。我有一个不同的发送端口,它通过相同的自定义管道组件发送出去 - 这个工作得很好!

任何人都可以建议我还能做些什么来尝试解决吗?

问题是我一头雾水!

我们需要在反汇编时使用DocumentSpecName,否则BizTalk 将不知道使用哪个平面文件架构。但是,没有必要在向 assemble 发送 FF 消息时使用它,因为 BizTalk 可以根据它提供的消息确定要使用的模式 - 映射生成的 FF 的 XML 表示