我正在尝试从目录中收集文件路径列表,将它们连接在一起,然后将该值发送到执行流程任务。为此,我正在使用一个带有表达式任务的ForEach循环,它应该填充从循环的每次迭代到变量的路径。问题是当表达式任务运行时,它会抛出以下错误。
Error: The type of the value (Empty) being assigned to variable "User::CombinedPath"
differs from the current variable type (String). Variables may not change type
during execution. Variable types are strict, except for variables of type Object.
表达式任务基本上是这样做的:
@[User::PathFromForEach] + ";"
然而,看来@ [User :: PathFromForEach]是空的。
这里发生了什么?
答案 0 :(得分:2)
我猜你已经将Expression任务的ExecValueVariable属性设置为变量@ [User :: CombinedPath]。嗯,这不是正确的地方。您需要将changeExecValueVariable恢复为None,并将表达式写为:
@[User::CombinedPath]=@[User::PathFromForEach] + ";"
多数民众赞成,我们只需要使用Expression属性,没有别的。 “表达式”属性是变量实际获取值的位置。我想最好调用属性“Assignment”而不是“Expression”。