type == typeof (uint) ||
type == typeof (float) ||
type == typeof (double) ||
- type == typeof (DateTime)) {
+ type == typeof (DateTime) ||
+ type.IsEnum)
output = o.ToString ();
-
- }
+ else
+ throw new Exception (String.Format ("Unsupported type : {0}", type));
return output;
}
object o,
string propertyName)
{
- BuildProperty bp = ChangeType.ToBuildProperty (o, propertyInfo.PropertyType, propertyName);
+ BuildProperty bp;
+ try {
+ bp = ChangeType.ToBuildProperty (o, propertyInfo.PropertyType, propertyName);
+ } catch (Exception e) {
+ throw new Exception (String.Format ("Error publishing Output from task property '{0} {1}' to property named '{2}' : {3}",
+ propertyInfo.PropertyType, propertyInfo.Name, propertyName, e.Message),
+ e);
+ }
parentProject.EvaluatedProperties.AddProperty (bp);
}
object o,
string itemName)
{
- BuildItemGroup newItems = ChangeType.ToBuildItemGroup (o, propertyInfo.PropertyType, itemName);
+ BuildItemGroup newItems;
+ try {
+ newItems = ChangeType.ToBuildItemGroup (o, propertyInfo.PropertyType, itemName);
+ } catch (Exception e) {
+ throw new Exception (String.Format ("Error publishing Output from task property '{0} {1}' to item named '{2}' : {3}",
+ propertyInfo.PropertyType, propertyInfo.Name, itemName, e.Message),
+ e);
+ }
+
newItems.ParentProject = parentProject;
if (parentProject.EvaluatedItemsByName.ContainsKey (itemName)) {