【问题标题】:Namespace issue in BizTalk Orchestration. Is this a bug?BizTalk Orchestration 中的命名空间问题。这是一个错误吗?
【发布时间】:2014-08-22 19:04:52
【问题描述】:

我在我的工作项目中发现了这个问题,想知道是否有任何方法可以避免这种情况而不是更改我的项目的命名空间:

这里有一个简单的步骤来重复这个问题:

  1. 创建一个 biztalk 项目,将项目的默认命名空间更改为“CorpName.EDI.Testing”。

  2. 在项目中添加对 Microsoft.BizTalk.Edi.BaseArtifacts 的引用

  3. 创建一个新的编排,简单地删除一个receipt,将其设置为Activate=True,将其过滤表达式设置为(EDI.ST01 == "997")

  4. 创建端口/消息需要使编排看起来有效。

  5. 构建。你会看到这样的构建错误:

    命名空间“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


    【解决方案1】:

    您所遇到的是自 BizTalk Server 2004 以来编排设计器的一个众所周知的“行为”。

    没有办法,抱歉。

    唯一的解决方案是不要在解决方案的命名空间中使用“EDI”。

    它不是特定于“EDI”的,如果您尝试在其他地方使用“BTS”,您会发现同样的问题。

    【讨论】:

    • 谢谢。我现在正在更改我的项目命名空间。
    猜你喜欢
    • 2013-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    相关资源
    最近更新 更多