2

我正在尝试从目录中收集文件路径列表,将它们连接在一起,然后将该值发送到执行过程任务。为此,我使用了一个 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] 似乎是空的。

这里发生了什么?

4

1 回答 1

2

我猜你已经将 Expression 任务的 ExecValueVariable 属性设置为变量@[User::CombinedPath]。好吧,这不是正确的地方。您需要将 changeExecValueVariable 恢复为 None,并将表达式写为:

@[User::CombinedPath]=@[User::PathFromForEach] + ";"

就是这样,我们只需要使用 Expression 属性,没有别的。“ Expression ”属性是变量实际赋值的地方。我想将属性称为“Assignment”而不是“Expression”会更好。

于 2013-04-06T09:44:30.357 回答