+
+#if NET_4_0
+ var ti2 = sourceItem as ITaskItem2;
+ if (ti2 != null) {
+ escapedItemSpec = ti2.EvaluatedIncludeEscaped;
+ escapedMetadata = ti2.CloneCustomMetadataEscaped ();
+ } else
+#endif
+ {
+ escapedItemSpec = MSBuildUtils.Escape (sourceItem.ItemSpec);
+ escapedMetadata = sourceItem.CloneCustomMetadata ();
+ foreach (string key in new ArrayList (escapedMetadata.Keys))
+ escapedMetadata [key] = MSBuildUtils.Escape ((string)escapedMetadata [key]);
+ }