BizTalk编排中的名称空间问题.这是臭虫吗?
本文关键字:问题 空间 BizTalk | 更新日期: 2023-09-27 18:19:05
我在我的工作项目中发现了这个问题,想知道是否有任何方法可以避免这种情况,而不是改变我的项目的命名空间:
这里有一个简单的步骤来重复这个问题:创建一个biztalk项目,将项目的默认命名空间更改为,例如' corporname . edit . testing '
在项目
中添加对microsoft . biztalk . edit . baseartifacts的引用创建一个新的业务流程,简单地删除一个接收尖锐,将其设置为激活=True,将其过滤器表达式设置为(EDI)。ST01 == "997")
创建端口/消息需要使业务流程看起来工作
构建。您将看到这样的构建错误:
名称空间'CorpName '中不存在类型或名称空间'ST01'。
从编排生成的cs代码如下所示:
new System.Type[] {
typeof(EDI.ST01)
},
new Microsoft.XLANGs.BaseTypes.EXLangPredicateOperator[] {
Microsoft.XLANGs.BaseTypes.EXLangPredicateOperator.eOpEqual
},
清楚。如果您自己的项目名称空间有"EDI",那么编译器将尝试解析表达式"EDI"。
您所经历的是自BizTalk Server 2004以来编排设计器的一个众所周知的"行为"。
没有别的办法,对不起。
唯一的解决方案是不要在解决方案的名称空间中使用"EDI"。
这不是特定于"EDI",如果你试图在其他地方使用"BTS",你会发现同样的问题。