WF规则和CodeTypeReferenceExpression

时间:2009-08-27 21:32:55

标签: .net xml workflow designer rules

我在工作流程中将一些变量移到了类中。

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

  

活动'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>

我试着写类型“请求”的多种不同的方式,“ApprovalWorkflow.Request”,“ApprovalWorkflow.Request,ApprovalWorkflow”,似乎没有任何工作。

请帮忙。

1 个答案:

答案 0 :(得分:0)

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