生成biztalk应用程序时出现警告:“验证对组件“平面文件反汇编程序”的调用失败。”

生成biztalk应用程序时出现警告:“验证对组件“平面文件反汇编程序”的调用失败。”,biztalk,pipeline,Biztalk,Pipeline,所以,这里是Biztalk的新手,我正在尝试组装一个工作示例流程。我将要处理的几乎所有文件都是原始TXT平面文件,我已经通过平面文件模式向导对其中一个进行了演示,以获得一个良好的实体模式。我还整合了我想要的已消毒数据的XML版本,并将两者映射在一起。只要这就是我所要做的,Biztalk似乎没有问题 但是,当我添加带有平面文件反汇编程序组件的接收管道并将文档架构设置为先前定义的平面文件架构时,我在Visual Studio中生成时收到以下警告: Visual Studio 2012\Project

所以,这里是Biztalk的新手,我正在尝试组装一个工作示例流程。我将要处理的几乎所有文件都是原始TXT平面文件,我已经通过平面文件模式向导对其中一个进行了演示,以获得一个良好的实体模式。我还整合了我想要的已消毒数据的XML版本,并将两者映射在一起。只要这就是我所要做的,Biztalk似乎没有问题

但是,当我添加带有平面文件反汇编程序组件的接收管道并将文档架构设置为先前定义的平面文件架构时,我在Visual Studio中生成时收到以下警告:

Visual Studio 2012\Projects\Sample EDI Process 2\Sample EDI Process 2\ReceiveFFPipe.btp : warning BTP0008: Validate call on component 'Flat file disassembler' failed.
起初,我只是忽略了它,因为它只是一个警告,但在部署环境中尝试在端口上使用管道会提示它挂起调用它的每个实例,并出现以下错误:

A message received by adapter "FILE" on receive location "Receive Location1" with URI "C:\Sample EDI Folder\*.txt" is suspended. 
Error details: There was a failure executing the receive pipeline: "Sample_EDI_Process_2.ReceiveFFPipe, Sample EDI Process 2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=eedeea09943f22ae" Source: "Unknown " Receive Port: "ReceivePort1" URI: "C:\Sample EDI Folder\*.txt" Reason: Failed to get pipeline: Sample_EDI_Process.ReceiveFFPipe, Sample EDI Process 2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=eedeea09943f22ae. Please verify that the pipeline strong name is correct and that the pipeline assembly is in the GAC.  
请原谅那些可怕的命名惯例,我只是想得到概念的证明

无论如何,我正在本地计算机上编写代码,并将其部署到另一台计算机上,并假设可能是因为解决方案程序集不在本地GAC中,并且没有提取平面文件文档架构,所以构建工作出现了混乱。然而,使用gacutil在我的机器上安装它似乎并没有解决任何问题。我可以在Biztalk管理控制台中很好地看到管道。它在部署时实际上不会产生错误,只会发出警告。我已将解决方案设置为始终重新部署并安装到GAC。我在biztalk虚拟实验室中执行这些操作时没有遇到任何问题。我甚至试着完全放弃解决方案,从头开始做另一个,没有骰子

此外,虽然我没有运行Biztalk的本地实例,但我确实在本地计算机上安装了它。我只是将解决方案部署到其他地方


如果您能提供任何帮助,我将不胜感激。

验证失败的原因有几个,包括:

该架构不是平面文件架构 如果完全限定名位于引用程序集中,则无法解析该名称。您可能需要重新生成该名称,然后关闭并打开Visual Studio 您不能忽略此错误,否则项目将无法生成

第二种表示无法解析类型名完全限定的.Net类型名。具有管道和架构的程序集必须位于运行时计算机上的GAC中。在BizTalk Administrator中添加资源时,必须在添加资源时显式选中“添加到全局程序集缓存”


然而,我强烈建议你不要走这条路。您会发现,在开发BizTalk应用程序时,如果没有BizTalk Server的本地实例(包括主机实例)的完整堆栈,则效率低下。远程计算机不支持部署,这是最大的因素。是的,它是可用的,可能看起来有什么作用,但它不起作用。

能否澄清您是否在本地安装了BizTalk Server?你真的应该。谢谢你的回复。在回答您的问题时,是的,我在本地安装了Biztalk Server,以确保在开始开发时拥有所有适当的DLL等。但是,我实际上并不运行本地实例;我只是安装了所有的工具,比如管理控制台。