0

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

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

活动“ifRequestComplete”验证失败:属性“条件”具有无效值。条件表达式无效。无法解析指定的类型名称(“Request, ApprovalWorkflow”)。

没有 'ns0:CodeTypeReferenceExpression Type=".."/>' 我收到此错误

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

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”,似乎没有任何效果。

请帮忙。

4

1 回答 1

0

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

于 2009-08-28T13:44:51.717 回答