【发布时间】: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