Author: brett
Date: Thu Mar  7 06:16:58 2013
New Revision: 1453698

URL: http://svn.apache.org/r1453698
Log:
[NPANDAY-578] fix determination of framework versions

This will attempt to discover them in both v4.0 and v2.0 Microsoft.Build
libraries, so we need to make sure it doesn't throw an exception looking for
newer versions in old libraries and instead just skips them.

Modified:
    
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs

Modified: 
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs?rev=1453698&r1=1453697&r2=1453698&view=diff
==============================================================================
--- 
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs
 (original)
+++ 
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs
 Thu Mar  7 06:16:58 2013
@@ -1015,15 +1015,19 @@ namespace NPanday.ProjectImporter.Conver
                         log.DebugFormat("Using ToolLocationHelper from {0}; 
TargetDotNetFrameworkVersion from {1}",
                             helperType.Assembly.GetName(), 
versionType.Assembly.GetName());
 
-                        string value = (string)helperType.InvokeMember(method,
-                            System.Reflection.BindingFlags.InvokeMethod, 
System.Type.DefaultBinder, "",
-                            new object[] { Enum.Parse(versionType, version) });
-
-                        log.DebugFormat("Adding target directory {0} = {1}", 
key, value);
-                        if (!string.IsNullOrEmpty(value))
+                        if (Enum.IsDefined(versionType, version))
                         {
-                            directories.Add(key, value);
-                            found = true;
+                            string value = 
(string)helperType.InvokeMember(method,
+                                System.Reflection.BindingFlags.InvokeMethod, 
System.Type.DefaultBinder, "",
+                                new object[] { Enum.Parse(versionType, 
version) });
+
+                            log.DebugFormat("Adding target directory {0} = 
{1}", key, value);
+                            if (!string.IsNullOrEmpty(value))
+                            {
+                                directories.Add(key, value);
+                                found = true;
+                                break;
+                            }
                         }
                     }
                 }


Reply via email to