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] に設定したと思います。まあ、それは正しい場所ではありません。ExecValueVariable を None に戻し、expression を次のように記述する必要があります。

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

以上で、Expression プロパティを使用するだけで済みます。「」プロパティは、変数が実際に割り当てられた値を取得する場所です.「式」ではなく「割り当て」プロパティと呼ぶ方が良いと思います。

于 2013-04-06T09:44:30.357 に答える