【发布时间】:2014-08-22 19:04:52
【问题描述】:
我在我的工作项目中发现了这个问题,想知道是否有任何方法可以避免这种情况而不是更改我的项目的命名空间:
这里有一个简单的步骤来重复这个问题:
创建一个 biztalk 项目,将项目的默认命名空间更改为“CorpName.EDI.Testing”。
在项目中添加对 Microsoft.BizTalk.Edi.BaseArtifacts 的引用
创建一个新的编排,简单地删除一个receipt,将其设置为Activate=True,将其过滤表达式设置为(EDI.ST01 == "997")
创建端口/消息需要使编排看起来有效。
-
构建。你会看到这样的构建错误:
命名空间“CorpName.EDI”中不存在类型或命名空间名称“ST01”(您是否缺少程序集引用?)
编排生成的cs代码如下所示:
new System.Type[] {
typeof(EDI.ST01)
},
new Microsoft.XLANGs.BaseTypes.EXLangPredicateOperator[] {
Microsoft.XLANGs.BaseTypes.EXLangPredicateOperator.eOpEqual
},
很明显。如果您自己的项目命名空间有“EDI”,那么编译器将尝试使用您自己的项目命名空间在编排中解析表达式“EDI.ST01”,它会失败,因为您的项目中没有 ST01。
【问题讨论】:
标签: c# biztalk biztalk-2013 biztalk-orchestrations