【问题标题】:WF Rules and CodeTypeReferenceExpressionWF 规则和 CodeTypeReferenceExpression
【发布时间】:2009-08-27 21:32:54
【问题描述】:

我将一些变量移到工作流中的类中。

不幸的是,现在规则失败了,我一直在尝试设置类型,但一直收到此错误。

活动“ifRequestComplete” 验证失败:属性 “条件”具有无效值。 条件表达式无效。这 指定的类型名称(“请求, ApprovalWorkflow") 不能 解决了。​​

没有 'ns0:CodeTypeReferenceExpression Type=".."/>' 我得到这个错误

活动“ifRequestComplete” 验证失败:属性 “条件”具有无效值。 条件表达式无效。这 类型上的字段“gReq” “ApprovalWorkflow.ApprovalFlow”确实 不存在或不可访问。

Request 类是在 ApprovalWorkflow 命名空间中创建的,该命名空间与工作流位于同一项目中,也称为 ApprovalWorkflow。

namespace ApprovalWorkflow
{
    public class Request    {...}
}

.rules 文件包含这个

    <RuleExpressionCondition Name="ifRequestComplete">
        <RuleExpressionCondition.Expression>
            <ns0:CodeBinaryOperatorExpression Operator="ValueEquality" xmlns:ns0="clr-namespace:System.CodeDom;Assembly=System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
                <ns0:CodeBinaryOperatorExpression.Left>
                    <ns0:CodeFieldReferenceExpression FieldName="StatusCode">
                        <ns0:CodeFieldReferenceExpression.TargetObject>
                            <ns0:CodeFieldReferenceExpression FieldName="gReq">
                                <ns0:CodeFieldReferenceExpression.TargetObject>
                                    <ns0:CodeTypeReferenceExpression Type="Request, ApprovalWorkflow" />
                                    <ns0:CodeThisReferenceExpression />
                                </ns0:CodeFieldReferenceExpression.TargetObject>
                            </ns0:CodeFieldReferenceExpression>
                        </ns0:CodeFieldReferenceExpression.TargetObject>
                    </ns0:CodeFieldReferenceExpression>
                </ns0:CodeBinaryOperatorExpression.Left>
                <ns0:CodeBinaryOperatorExpression.Right>
                    <ns0:CodePrimitiveExpression>
                        <ns0:CodePrimitiveExpression.Value>
                            <ns1:String xmlns:ns1="clr-namespace:System;Assembly=mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">COM</ns1:String>
                        </ns0:CodePrimitiveExpression.Value>
                    </ns0:CodePrimitiveExpression>
                </ns0:CodeBinaryOperatorExpression.Right>
            </ns0:CodeBinaryOperatorExpression>
        </RuleExpressionCondition.Expression>
    </RuleExpressionCondition>

我尝试了几种不同的方法来编写类型“Request”、“ApprovalWorkflow.Request”、“ApprovalWorkflow.Request、ApprovalWorkflow”,但似乎没有任何效果。

请帮忙。

【问题讨论】:

    标签: .net xml workflow designer rules


    【解决方案1】:

    我想通了,在修改底层对象时,它们从字段更改为属性,并且生成的 .rules 文件必须相应更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 2010-09-11
      • 1970-01-01
      • 2012-05-05
      • 1970-01-01
      • 2017-02-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多