2012-11-06 42 views
1

我有2个项目引用X12_00401_214.xsd。我在发送管道中收到有关重复模式的消息。Biztalk从部署的项目中删除架构和编排

以下建议我在网上找到我创建了一个通用项目,并将映射和编排引用更改为通用项目中的模式。

当我尝试部署项目时,biztalk从另一个已部署的EDI 214项目中删除模式和编排。如果我尝试重新部署来修复它,它将从另一个项目中删除它们。

这是因为每个项目引用相同的常用模式,而biztalk正在取代模式和编排?

我已经尝试重做编排以确保变量是唯一的。

有没有我在这里失踪的一个步骤?

+0

看起来biztalk正在从gac中卸载其他应用程序,因为它正在为每个项目部署部署共享dll。有没有办法来防止这一点: – user1804413

回答

0

我有2个引用X12_00401_214.xsd的项目。我在发送管道中获取了有关重复模式的消息 。

XMLNS#模式的根组合必须是唯一的。你是对的,它很烦人,可以部署重复,这个错误只能在运行时检测到。

这是因为每个项目引用相同的通用架构和 的BizTalk被替换的模式和业务流程?

我相信你可能会将你的公共模式项目添加到你的依赖EDI BizTalk应用程序。在这种情况下,模式程序集将被添加到两个项目的资源中,并且您将遇到上述问题。

此处的一般建议是将常见工件(如共享或框架模式,信封,管道以及可能的标准异常处理orch等)移动到一个或多个单独的BizTalk应用程序中(例如EDICommon),并从中定义应用程序依赖关系2个EDI应用程序。有一篇深度文章here。 (没有必要让BizTalk应用程序拥有任何orchs或实际进行任何处理 - 它可能只是一个工件的容器)。

一个警告 - 如果您的公共架构应用程序发生了显着变化并且需要重新部署,则需要卸载所有依赖应用程序。

2

我终于将问题追溯到对共享项目的引用。我把它作为项目参考引用。在每个预计的部署中,它重建并部署共享项目。这导致biztalk放弃绑定并取消部署引用共享项目的其他项目的各个部分。

当我将项目更改为仅引用已编译的DLL时,我不再有问题,现在两个项目都在工作。