C# BizTalk业务流程中的命名空间问题。这是虫子吗?
我在我的工作项目中发现了这个问题,不知道是否有什么方法可以避免这个问题,而不是更改项目的名称空间: 以下是重复此问题的简单步骤:C# BizTalk业务流程中的命名空间问题。这是虫子吗?,c#,biztalk,biztalk-2013,biztalk-orchestrations,C#,Biztalk,Biztalk 2013,Biztalk Orchestrations,我在我的工作项目中发现了这个问题,不知道是否有什么方法可以避免这个问题,而不是更改项目的名称空间: 以下是重复此问题的简单步骤: 创建biztalk项目,将项目的默认命名空间更改为,例如“CorpName.EDI.Testing” 在项目中添加对Microsoft.BizTalk.Edi.BaseArtifacts的引用 创建一个新的业务流程,简单地删除一个receive sharp,将其设置为Activate=True,将其筛选器表达式设置为(EDI.ST01==“997”) 创建端口/消息需
new System.Type[] {
typeof(EDI.ST01)
},
new Microsoft.XLANGs.BaseTypes.EXLangPredicateOperator[] {
Microsoft.XLANGs.BaseTypes.EXLangPredicateOperator.eOpEqual
},
命名空间“CorpName.EDI”中不存在类型或命名空间名称“ST01”(是否缺少程序集引用?) new System.Type[] {
typeof(EDI.ST01)
},
new Microsoft.XLANGs.BaseTypes.EXLangPredicateOperator[] {
Microsoft.XLANGs.BaseTypes.EXLangPredicateOperator.eOpEqual
},
很明显。如果您自己的项目命名空间具有“EDI”,则编译器将尝试使用您自己的项目命名空间解析编排中的表达式“EDI.ST01”,并且它将失败,因为您的项目中没有ST01。您遇到的是自BizTalk Server 2004以来编排设计器的一个众所周知的“行为” 没办法,对不起 唯一的解决方案是在解决方案的名称空间中不使用“EDI”
这不是“EDI”特有的,如果您尝试在其他地方使用“BTS”,您会发现同样的问题。谢谢。我正在更改我的项目名称空间。